Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 7 Using the TIBCO Service Gateway for CICS : Calling External Routines

Calling External Routines
Under CICS, rules can use the CALL statement to call CICS programs that use CICS services or external routines that use OS linkage conventions. Refer to Chapter 10, Accessing External Routines for detailed information about external routine usage.
Calling an External CICS Routine
You can access an external CICS routine using a CALL with the syntax:
CALL program_name;
where program_name is the CICS program defined in the PPT table and located in the DFHRPL library.
COMMAREA Preparation
If TIBCO Object Service Broker is invoked by a user application that defines a COMMAREA, it passes that COMMAREA to the CICS external routine. The COMMAREA can be modified using MAP tables or the $SETENVCOMMAREA tool before invoking the CICS external routine.
Requirements for Calling an External CICS Routine
The routine must be defined in the ROUTINES table and the value in the LOADNAME field must be the same as the NAME field.
The language specified in the LANGUAGE field of the ROUTINES table must be CICS—not the language in which the routine is written, except in the case of routines with OS linkage. Refer to Calling An External Routine With OS Linkage.
Restrictions for Calling an External CICS Routine
If the TIBCO Object Service Broker session is initiated without a COMMAREA, the external routine cannot create one and pass it to TIBCO Object Service Broker for use.
You cannot specify arguments in the ARGUMENTS table; therefore, the external routines cannot be defined as functions.
Stacked sessions are not allowed. A new session cannot be started through the use of an external routine that invokes a TIBCO Object Service Broker CICS client program from within an existing TIBCO Object Service Broker CICS client session.
The EXEC CICS HANDLE ABEND command is not allowed. All other EXEC CICS HANDLE error_condition commands are permitted.
When issuing an EXEC CICS ABEND ABCODE command to terminate the CICS program abnormally, do not start your four-character code with an “H”. These codes are reserved for internal TIBCO Object Service Broker use.
When issuing an EXEC CICS ABEND ABCODE command from a CICS external routine, the option CANCEL must not be specified. Use of this option may cause your session to hang as TIBCO Object Service Broker's error handling is bypassed.
Calling An External Routine With OS Linkage
Rules can call external routines defined using the ROUTINES and ARGUMENTS tables. External routines with OS linkage conventions can also be defined as functions. Refer to Chapter 10, Accessing External Routines for more information.
Usage Note
For routines with OS linkage, the language specified in the LANGUAGE field of the ROUTINES table must be the language in which the routine is written—do not specify CICS.
See Also
TIBCO Object Service Broker Shareable Tools about the tools.

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved