COBOL statement (compilation unit definition)

The COBOL statement identifies a COBOL compilation unit.

The syntax of the COBOL statement is:
Read syntax diagramSkip visual syntax diagram
>>-+--------+--COBOL--LISTDSN--=--listdsname--,----------------->
   '-label:-'                                     

>--+------------------------+--LOADMOD=membername,-------------->
   '-LISTMEMBER=listmember,-'                        

>--+-FROMOBJDSN=fromobjdsn,-| FVU |-+-------------------+-TOOBJDSN=toobjdsn-| TVU |-+-><
   |                                '-OBJMEMBER=objmem,-'                           |   
   '-+----------------------------------+--TOLOADDSN=toloaddsn-| TVU |--------------'   
     '-FROMLOADDSN=fromloaddsn,-| FVU |-'                                               

FVU

|--+------------------------------------+-----------------------|
   '-FROMVOL=fromvol,FROMUNIT=fromunit,-'   

TVU

|--+----------------------------+-------------------------------|
   '-,TOVOL=tovol,TOUNIT=tounit-'   

label
A label that can be used to refer to this statement in subsequent statements.
listdsname
The name of the data set that contains the compiler listing for this compilation unit.
listmember
The member name to be substituted for an asterisk specification in the listdsname. This operand is usually specified only when the LISTDSN operand is specified on the DEFAULTS statement.
membername
The name of the load module (member name) that contains this compilation unit.
fromobjdsn
The data set name of the partitioned data set that contains the object modules generated by the compiler.

This is not applicable for Enterprise COBOL for z/OS® Version 5.

fromloaddsn
The data set name of the partitioned data set that contains the load module generated by the linker/binder.
fromvol
The volume that contains the fromobjdsn or fromloaddsn data set if it is not cataloged.
fromunit
The unit specification for the fromobjdsn or fromloaddsn data set if it is not cataloged.
objmem
The member name in the fromobjdsn for the object for this compilation unit. If fromobjdsn is specified and this operand is not specified, LISTMEMBER must be specified. In this case, the member name that is specified as listmember is used for objmem.
toobjdsn
The data set name of the partitioned data set that will contain the modified object modules generated by setup.

This is not applicable for Enterprise COBOL for z/OS Version 5.

toloaddsn
The data set name of the partitioned data set that will contain the instrumented load module generated by setup.
tovol
The volume that contains the toobjdsn or toloaddsn data set if it is not cataloged.
tounit
The unit specification for the toobjdsn or toloaddsn data set if it is not cataloged.

In a set of control cards you can process either object modules or load modules, but not both. Thus, the FROMOBJDSN and FROMLOADDSN keywords are mutually exclusive, as are the TOOBJDSN and TOLOADDSN keywords.

If TOOBJDSN is coded, then FROMOBJDSN is required.

If TOLOADDSN is coded, FROMLOADDSN is optional. If FROMLOADDSN is omitted, its value defaults to the value that is specified for TOLOADDSN and, hence, the load module will be modified in the data set where it is currently located.

The fromloaddsn load module can be coded as an * to nullify the FROMLOADDSN specification on a previous DEFAULTS statement.

EQACUZPP is used to instrument breakpoints in a load module. It is invoked when either the membername or toloaddsn changes, or when the last control card is processed.