Initial CICS User Application Transaction

This topic describes the sequence of events that occur in a CICS transaction.

Initial TIBCO EMS Function Call

The following information describes the events that occur with the initial TIBCO EMS function call.

  1. The user application issues a tibcoConnection_create with a URL (case sensitive) parameter.
  2. Control is transferred to S7MASTUB, which is LKED into the user application.
  3. S7MASTUB converts the call to CICS LINK to S7M3PASS with the necessary function indicator and parameter list.
  4. S7M3PASS knows a CEET is not running, so it attaches program S7M3EMSS.
  5. S7M3PASS establishes an interface to the S7M3EMSS Master Thread.
  6. S7M3PASS sees there is no Connection Thread for the URL, so S7M3PASS tells the Master Thread to start a Connection Thread.
  7. S7M3PASS establishes an interface to the S7M3EMSS Connection Thread for the URL.
  8. S7M3PASS sees there is no Work Thread for the Connection Thread, so S7M3PASS tells the Connection Thread to start a Work Thread.
  9. S7M3PASS establishes an interface to the S7M3EMSS Work Thread for the URL.
  10. S7M3PASS sends a tibcoConnection_create command with parameters to the Work Thread.
  11. The Work Thread converts the command request to a TIBCO EMS “Call” with the parameters passed by the user application in step 1.
  12. The TIBCO EMS library creates a tibcoConnection, returns a zero condition code, and sets up the Connection pointer in the tibcoConnection_create parameter list.
  13. The Work Thread returns the data and return code to S7M3PASS.
  14. S7M3PASS returns the data and return code to S7MASTUB.
  15. S7MASTUB returns the data to the user application.

Subsequent TIBCO EMS Function Calls

The following information describes the events that occur on subsequent function calls.

  1. The user application issues another TIBCO EMS function call.
  2. Control is transferred to S7MASTUB, which is LKED into the user application.
  3. S7MASTUB converts the call to CICS LINK to S7M3PASS with the necessary function indicator and parameter list.
  4. S7M3PASS knows there is a Work Thread available in the CEET to support this CICS transaction, so S7M3PASS sends the TIBCO EMS function command with parameters to the Work Thread.
  5. The Work Thread converts the command request to a TIBCO EMS “Call” with the parameters passed by the user application in step 1.
  6. The TIBCO EMS library processes the TIBCO EMS function, returns a condition code, and modifies the data as needed based on the parameter list.
  7. The Work Thread returns the data and return code to S7M3PASS.
  8. S7M3PASS returns the data and return code to S7MASTUB.
  9. S7MASTUB returns the data and return code to the user application.

Final TIBCO EMS Function Call

The following information describes the events that occur in the final function call for this transaction.

  1. The user application issues tibcoConnection_close.
  2. Control is transferred to S7MASTUB, which is LKED into the user application.
  3. S7MASTUB converts the call to CICS LINK to S7M3PASS with the necessary function indicator and parameter list.
  4. S7M3PASS knows there is a Work Thread available in the CEET to support this CICS transaction, so S7M3PASS sends the TIBCO EMS function command with parameters to the Work Thread.
  5. The Work Thread converts the command request to a TIBCO EMS “Call” with the parameters passed by the user application in step 1.
  6. The TIBCO EMS library processes the TIBCO EMS function, returns a condition code, and modifies the data as needed based on the parameter list.
  7. The Work Thread returns the data and return code to S7M3PASS.
  8. S7M3PASS returns the data and return code to S7MASTUB.
  9. S7MASTUB returns the data and return code to the user application.
  10. During CICS transaction end S7M3TRUE is called and releases the Work Thread.