Show TOC

Call Transaction SucceedsLocate this document in the navigation structure

Use

The inbound function module that uses an ALE enabled transaction must pass the IDoc number to the transaction's IDoc memory variable before calling the transaction.

Process
Figure 1: Inbound Processing with ALE-Enabled Transaction: Transaction Successful
Note
  • The transaction's code is executed in a separate context from that of the ALE layer and inbound function module

  • The shaded boxes represent the ALE function modules Idoc_Input_Open (top) and Idoc_Input_Close (bottom).

How can you establish whether the call transaction was successful?

You can generally assume the call transaction has succeeded if "Sy-Subrc = 0" after the call has been executed. In an ALE environment this is only half the story, because when the import parameter Input_Method takes on the value "A" or "E", the inbound function module must call the transaction using mode = "A" or "E" ("show all screens" or "show the screens starting with the one where the error occurred"). In this case, the user sees the screens and can cancel the transaction by entering /n in the command field, which also results in "Sy-Subrc = 0" after the call. The only reliable way to establish whether the call transaction succeeded is to check the message ID (Sy-Msgid) and number (Sy-Msgno). Note that some transactions have more than one "success" message.