Data Flow - Transaction

The transaction definition defines data to be captured on the SAP Client. As a part of its definition, the transaction includes a target object type, data values to be captured, client-side data validation, and updating its data to the back end system by the SAP Agentry Server during synchronization. Transactions can add new object instances, edit an existing object, delete an object, or modify a complex table or data table record. Each of these behaviors is exhibited by a different transaction type, selected during the creation of the transaction.

The following diagram and steps depict what happens when the Agentry client must load or reload a transaction.

Data Flow - Transaction

  1. A Server exchange steplet defined in a Transaction calls Steplet doSteplet() method to begin the transaction.
  2. Steplet's doSteplet() calls appropriate method in the xxxStepHandler class to create, update, or delete objects in SAP.
  3. xxxStephandler method constructs the necessary SAPObject subtype by passing the User to the SAPObject's constructor.
  4. xxxStepHandler method instantiates the necessary xxxCreateBAPI or xxxUpdateBAPI object, passing the SAPObject to constructor.
  5. The xxxCreateBAPI or xxxUpdateBAPI constructor maps the SAPObject's fields to the necessary JCO record columns.
  6. xxxCreateBAPI or xxxUpdateBAPI constructor retrieves JCO function object from the repository, using the connection on User.
  7. xxxCreateBAPI or xxxUpdateBAPI constructor sets BAPI import parameters IV_xxx and/or IS_xxx.
  8. xxxCreateBAPI or xxxUpdateBAPI constructor adds IT_xxx records to BAPI import tables.
  9. xxxStepHandler method calls add(), update() or delete() method of xxxCreateBAPI or xxxUpdateBAPI.
  10. xxxCreateBAPI or xxxUpdateBAPI calls the execute() method on BAPI and checks for exceptions.
  11. xxxCreateBAPI or xxxUpdateBAPI reads ET_RETURN table for error messages.
  12. If successful, control passes back to xxxStepHandler, Steplet, and Agentry.