Example: command-line arguments without -host option

This example shows how to read command-line arguments.

 IDENTIFICATION DIVISION.
 PROGRAM-ID. "targaix".
*
 ENVIRONMENT DIVISION.
 CONFIGURATION SECTION.
*
 DATA DIVISION.
 WORKING-STORAGE SECTION.
*
 LINKAGE SECTION.
 01  PARM-LEN PIC S9(9) COMP.
 01  OS-PARM.
     02 PARMPTR-TABLE OCCURS 1 TO 100 TIMES DEPENDING ON PARM-LEN.
        03 PARMPTR  POINTER.
 01 PARM-STRING PIC XX.
*
 PROCEDURE DIVISION USING BY VALUE PARM-LEN BY REFERENCE OS-PARM.
     display "parm-len=" parm-len
     SET ADDRESS OF PARM-STRING TO PARMPTR(2).
     display "parm-string= '" PARM-STRING "'";
     EVALUATE PARM-STRING
         when "01"  display "case one"
         when "02"  display "case two"
         when "95"  display "case ninety-five"
         when other display "case unknown"
     END-EVALUATE
     GOBACK.

Suppose you compile and run the following program:

cob2 targaix.cbl
a.out 95

The result is:

parm-len=000000002
parm-string= '95'
case ninety-five