The following describes how the COBOL Preprocessor 1 works:
- When using the COBOL Preprocessor1 with the CICS Interface and writing a pseudo-conversational program that links or transfers control to another program processed by the COBOL Preprocessor1, the structure DBCCONS of DBCBUFFER (generated by the COBOL Preprocessor1) must be passed in the CICS COMMAREA.
The COMMAREA is specified either on RETURN to CICS in the transid or in a CICS LINK statement.
- The communications data moves from the Linkage Section COMMAREA to DBCCONS of DBCBUFFER on any entry when the COMMAREA length is non-zero.
The length of the structure DBCCONS of DBCBUFFER is defined in DBCLEN (generated by the COBOL Preprocessor1) and equals 516 bytes.
- The structure DBCCONS of DBCBUFFER is generated by the COBOL Preprocessor and immediately follows the last ACTIVITYCOUNT, ERRORMESSAGE, or RETURNCODE preprocessor statements.
- To use CICS with command-level COBOL, the main entry program must have a Linkage Section.
WHEN there is . . . THEN . . . Linkage Section code in the program processing continues. no Linkage Section code in the program the CICS Translator creates it.
- For each command level program, CICS requires the following:
- an Execute Interface Block (EIB) (the EIB communicates between CICS and the application)
- a communications area (COMMAREA)
- an area to map the BLL cell area of the program
The translator inserts the EIB as the first 01 level in the Linkage Section, regardless of what the programmer may specify.
The second 01 level is the COMMAREA and it must be the first statement that the programmer specifies in the Linkage Section.
The COMMAREA must be called DFHCOMMAREA.
IF the programmer. . . THEN . . . provides a COMMAREA processing continues. does not provide a COMMAREA the translator defines a one-byte COMMAREA.
- The final 01 supplied by the translator is an area to map the BLL cell area of the program.DBCCONS information is not relevant to the COBOL Preprocessor2.