Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 10 Accessing External Routines : Identifying Your External Routine to TIBCO Object Service Broker

Identifying Your External Routine to TIBCO Object Service Broker
Specify the Table Entries
You identify the external routine and its load module name to TIBCO Object Service Broker through an entry in the ROUTINES table. If the routine has arguments, specify these in a table instance of the ARGUMENTS table. Ensure that you have adequate security authorization to insert data into these tables before editing them.
Use the Table Editor to add information to these tables. To use this option, enter the required table name beside the ED edit table option on the workbench and press Enter to display the table.
Add an Entry in the ROUTINES Table
The following screen shows an extract of the ROUTINES table. Scroll right using PF11 to see additional fields.

 
EDITING TABLE : ROUTINES
COMMAND ==>
SCROLL: P
NAME LANGUAGE FUNCTION TYPE SYNTAX LENGTH DECIMAL
_ ---------------- ---------------- - - - ------ ------
_ ABEND ASSEMBLER N 0 0
_ ADMCHART ASSEMBLER N 0 0
_ ASREAD ASSEMBLER N 0 0
_ BINARY_TO_LOGIC ASSEMBLER Y L C 1 0
_ BTOPACKD ASSEMBLER Y C 1 0
_ CATROW ASSEMBLER N 0 0
_ CCOB11 HLLCOBOL N 0 0
_ CCOB12A HLLCOBOL N 0 0
_ CCOB12B HLLCOBOL N 0 0
_ CDIR50O HLLCOBOL N 0 0
_ CDIS51O HLLCOBOL N 0 0
_ CFOR500 HLLCOBOL N 0 0
_ CGET00O HLLCOBOL N 0 0
_ CGET50O HLLCOBOL N 0 0
_ CHHATT ASSEMBLER N 0 0
_ CCHHEAD ASSEMBLER N 0 0
_ CHHIST ASSEMBLER N 0 0
PFKEYS: 4=INSERT 16=DELETE 5=FIND NEXT 6=CHG NEXT 18=EXCLUDE 3=SAVE 12=CANCEL

 
Type the following information in the fields of the ROUTINES table for your external routine:
 
The name used to invoke the external routine. If this name is different from the name of the load module, see the explanation for the LOADNAME field.
 
The language in which the external routine is written, mainly for documentation purposes, with the exception of the following keywords:
 
For an external routine with OS linkage that is to be run under a TIBCO Object Service Broker task in a CICS Execution Environment, specify the language used, not the value CICS.
Indicates that this routine is to be run in a pre-initialized Language Environment (LE) enclave, the CEEPIPI environment. This routine is a stand-alone routine that does not refer to global variables.
For LANGUAGE=LE, you must provide the appropriate CEEUOPT in your LE-compliant external routines, because the CEEPIPI enclave is initialized according to the specification of the first external routine called. You should use the same CEEUOPT options for all external routines in the same class for the same TIBCO Object Service Broker Execution Environment, because the same CEEPIPI enclave cannot support different runtime options.
Indicates that this routine is to be run in a pre-initialized LE enclave, the CEEPIPI environment. This routine is one of a set of routines that refer to global variables used by other routines in the set.
For LANGUAGE=LEPERSIST, you must provide the appropriate CEEUOPT in your LE-compliant external routines, because the CEEPIPI enclave is initialized according to the specification of the first external routine set being called. You should use the same CEEUOPT options for all external routines in the routine set, because the same CEEPIPI enclave cannot support different runtime options after it is initialized. You can use different CEEUOPT options for different routine sets, because each set triggers a re-initialization of the LE enclave. The routine set boundary is defined by the first call to the routine in the set and the end of that stream level.
For LANGUAGE values other than LE or LEPERSIST, the external routines are run outside the CEEPIPI environment. Each time an LE-compliant external routine is called, a fresh LE enclave is initialized according to the specification of that external routine. Therefore this class of external routines can have different runtime options within the same TIBCO Object Service Broker Execution Environment. It is your responsibility to provide the appropriate CEEUOPT in your external routines.
 
 
 
 
 
 
The name of the load module in the external routines load library. You can leave this blank if the name of the load module is the same as the routine name (that is, in the NAME field). You must scroll right to see this field.
 
 
 
Adding an Entry to the ARGUMENTS Table
If your external routine has arguments, add a table instance to the ARGUMENTS table to identify the arguments to TIBCO Object Service Broker. The parameter value for the table instance must be the name of the external routine (that is, in the NAME field of the ROUTINES table). The maximum number of arguments allowed is 16.
The following arguments are for the assembler program shown in Example Assembler Program.

 
EDITING TABLE : ARGUMENTS(CHRINSTR)
COMMAND ==>
SCROLL: P
NUMBER NAME INOUT TYPE SYNTAX LENGTH DECIMAL
_ ------ ---------------- - - - ------ ------
_ 1 COUNT Y C P 8
_ 2 STRING N S V 256
_ 3 CHAR N S V 1
_ 4 FOLD N L C 1
 
PFKEYS: 4=INSERT 16=DELETE 5=FIND NEXT 6=CHG NEXT 18=EXCLUDE 3=SAVE 12=CANCEL

 
Type appropriate information in the fields of the ARGUMENTS table:
 
Specifies whether the value of the argument can be changed by the external routine. If so, the value passed to the routine must be a local variable or the field of a table, and the field must have the same data definition as the argument. Valid entries are Y and N.
See Also
TIBCO Object Service Broker Managing Data about the Table Editor
TIBCO Object Service Broker Programming in Rules about syntax and semantic data types

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved