When coding your access statements, you must take into account the differences between COBOL and the TIBCO Object Service Broker rules language. For example:
The preprocessor creates COBOL names for each field by combining the table and field names with a hyphen. COBOL does not allow special symbols in table, field, and parameter names.
TIBCO Object Service Broker table and field names used in conjunction with a joining period (.) can have a maximum of 33 characters, but COBOL names can have a maximum of only 30 characters. The 30 character limit in COBOL is a result of the way that the preprocessor assigns COBOL names to TIBCO Object Service Broker fields (the TIBCO Object Service Broker identifier is two names and a separator while the COBOL identifier is a single name).
Use the Define Table statement in the Working Storage Section of your program to rename TIBCO Object Service Broker tables, fields, and parameters to valid COBOL names. You must assign valid names to TIBCO Object Service Broker invalid table, field, and parameter names in your table regardless of whether you refer to them or not.
Unlike the rules language, which uses a period (.) as the joining character to identify a table and field specification, TIBCO Object Service Broker access statements use a hyphen (-) to make them usable by COBOL. For example:
Use the COBOL form to identify table and field specifications in TIBCO Object Service Broker access statements as well as in COBOL statements. For example, to specify this table and field in the Procedure Division, type:
In COBOL, blanks must be inserted between an operator or expression and a variable. In TIBCO Object Service Broker, blanks are optional. The following example shows a valid selection in the access statement:
An expression must be a valid COBOL expression. Since a parameter expression is considered a literal expression in COBOL, you cannot use a parameter with a non-numeric literal with a length of zero. An expression like:
is not valid. The following example shows a valid GET statement that you can code in your access statement:
In addition, the GETFIRST and GETNEXT statements are also supported. GETFIRST and GETNEXT work together to retrieve occurrences from a table within a COBOL looping structure.
This puts the occurrences in the order of ascending values in the LNAME field, and retrieves the first occurrence where the
MGRNO field of the #ED_EMPLOYEES table is 79912. Other occurrences where the
MGRNO field is 79912 are held in the same order for the GETNEXT statement.
table is the name of the table specified in the GETFIRST statement. You must include parameter values if the table is parameterized. An example of a valid GETNEXT statement is:
TIBCO Object Service Broker Programming in Rules about the rules language and rules processing behavior.