Top
NetCOBOL V11.0 Syntax Samples
FUJITSU Software

1.11 Function Name-3 Clause

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.