The function name-3 clause can be used to manipulate command line arguments and environment variables.
Command line arguments are arguments that are passed when an application is started. The ACCEPT statements can use to retrieve the number of arguments or their values.
In addition, the ACCEPT and DISPLAY statements can be combined to retrieve and set the values of environment variables in the same way.
000010 @OPTIONS MAIN 000020*---------------------------------------------------------------------- 000030* The function name-3 clause is used to accept arguments when an 000040* application is started, sort the arguments, and display them. 000050* 000060* Sample activation example: SAMPLE.EXE USA England Japan Italy China 000070*---------------------------------------------------------------------- 000080 IDENTIFICATION DIVISION. 000090 PROGRAM-ID. SAMPLE. 000100 ENVIRONMENT DIVISION. 000110 CONFIGURATION SECTION. 000120*---------------------------------------------------------------------- 000130* Mnemonic names are assigned to the argument number (ARGUMENT-NUMBER) 000140* and argument value (ARGUMENT-VALUE). 000150*---------------------------------------------------------------------- 000160 SPECIAL-NAMES. 000170 ARGUMENT-NUMBER IS ARG-NUM 000180 ARGUMENT-VALUE IS ARG-VAL. 000190*---------------------------------------------------------------------- 000200 INPUT-OUTPUT SECTION. 000210 FILE-CONTROL. 000220 SELECT SORT-FILE ASSIGN TO SORT-WORK. 000230 DATA DIVISION. 000240 FILE SECTION. 000250 SD SORT-FILE. 000260 01 SORT-REC. 000270 02 SORT-DATA PIC X(10). 000280 WORKING-STORAGE SECTION. 000290 01 CNT PIC 9(4) BINARY. 000300 01 ELM-NUM PIC 9(4) BINARY. 000310 PROCEDURE DIVISION. 000320*---------------------------------------------------------------------- 000330* The ACCEPT statement can be used to obtain the number of arguments. 000340*---------------------------------------------------------------------- 000350 ACCEPT ELM-NUM FROM ARG-NUM. 000360*---------------------------------------------------------------------- 000370 DISPLAY "** The arguments are sorted. **". 000380 SORT SORT-FILE ON ASCENDING KEY SORT-DATA 000390 INPUT PROCEDURE IS IN-PROC 000400 OUTPUT PROCEDURE IS OUT-PROC. 000400 000410 IN-PROC. 000420 PERFORM TEST BEFORE 000430 VARYING CNT FROM 1 BY 1 UNTIL CNT > ELM-NUM 000440*---------------------------------------------------------------------- 000450* For an argument value, the DISPLAY statement first specifies what 000460* number the argument is. The ACCEPT statement can then be specified 000465* to retrieve the argument. 000470*---------------------------------------------------------------------- 000480 DISPLAY CNT UPON ARG-NUM 000490 ACCEPT SORT-DATA FROM ARG-VAL 000500*---------------------------------------------------------------------- 000510 RELEASE SORT-REC 000520 END-PERFORM. 000530 OUT-PROC. 000540 RETURN SORT-FILE AT END GO TO P-EXIT. 000550 DISPLAY SORT-DATA. 000560 GO TO OUT-PROC. 000570 P-EXIT. 000580 EXIT PROGRAM. 000590 END PROGRAM SAMPLE.