-------------------------------------------------------------------------------- FOR 5.3A of BIM-GSS: - A new facility has been added to allow you to request the execution of an IMOD via BIM$CGRX (for all BIM-GSS users) and return the results as a series of records in a designated buffer area. Each of the returned records will be in the following format: nncccc...cccc where nn is the 2 byte length (in hex) of the cccc...cccc record that follows. After processing each record add the value of nn+2 to find the beginning of the next record. - This facility can be accessed from a CICS program by linking to the new BIM-GSS phase, BIM$CIMO, using the following: EXEC CICS LINK PROGRAM('BIM$CIMO') COMMAREA(xx) LENGTH(yy) where xx is the name of the COMMAREA to pass yy is the 2 byte field containing the length of the COMMAREA in hex. or it can be accessed from batch using the new BIM-GSS phase, BIM$BIMO, using the following method in assembler: CDLOAD BIM$BIMO LR R15,R0 LA R13,SAVEAREA LA R1,COMMAREA BALR R14,R15 - The COMMAREA must be at least 24 bytes long and contain the following fields: BCIMIMOD is an 8 byte area which contains the name of the IMOD to be executed by BIM$CGRX. BCIMBUFA is a 4 byte area which contains the address of the buffer area to be used by BIM$xIMO to pass the IMOD arguments and to return the produced records. This area may by up to 32K long. If the buffer provided is not long enough to return all the data records generated by the IMOD, the remaining records will be ignored. The buffer may be defined in storage above the 16 MEG line. BCIMBUFL is a 4 byte area containing the length of the I/O buffer area supplied. Make sure this value is less than or equal to the actual size of the buffer area! BCIMBFIL is a 4 byte area containing the length of the input data to be used as arguments for the REXX IMOD being executed. This is the number of characters that will be passed to the IMOD. If the IMOD requires no arguments then set this value to zero. BCIMRETC is a 4 byte area used for passing the return code of the BIM$xIMO execution. The return code is of the format, CCCN, where CCC is the routine that failed and N is the decimal error number in that routine. - Examples for using the IMOD interface are provided in source form to be used as templates for creating your own routines. These examples are BIM$CREX.A (for CICS), and BIM$BREX.A (for batch) and are provided as source and assembled phases on the BIM-GSS library. - Note that BIM$CIMO and BIM$BIMO are both RMODE=24, AMODE=31, and reentrant. --------------------------------------------------------------------------------