Java Reference
In-Depth Information
LINKAGE SECTION.
01 MYSUB-CONTROL.
03 MYSUB-ACTION-SWITCH PIC X.
88 MYSUB-ACTION-EVALUATE VALUE "E".
88 MYSUB-ACTION-SET-AND-EVALUATE VALUE "S".
03 MSG-TEXT PIC X(20).
03 MSG-SIZE PIC 9(8).
01 TEXT-STRING PIC X(20).
PROCEDURE DIVISION USING MYSUB-CONTROL, TEXT-STRING.
MYSUB-INITIAL SECTION.
MYSUB-INITIAL-S.
* Perform some function to detect the number of arguments.
PERFORM GET-ARGUMENT-COUNT.
* Determine whether TEXT-STRING or MSG-TEXT should be evaluated.
Store
the correct item in LOCAL-TEXT.
IF ARGUMENT-COUNT = 2
MOVE TEXT-STRING TO LOCAL-TEXT
ELSE
MOVE MSG-TEXT TO LOCAL-TEXT.
* Now, use LOCAL-TEXT in the subroutine's logic.
IF LOCAL-TEXT = SPACES
MOVE 0 TO MSG-SIZE
ELSE
MOVE 1 TO MSG-SIZE.
IF MYSUB-ACTION-SET-AND-EVALUATE
MOVE LOCAL-TEXT TO MSG-TEXT.
EXIT-PROGRAM.
EXIT PROGRAM.
GET-ARGUMENT-COUNT SECTION.
GET-ARGUMENT-COUNT-S.
* Set ARGUMENT-COUNT to the result.
CALL "GET$NARGS" USING ARGUMENT-COUNT.
In this example, there are really two interfaces defined for MYSUB, one with a
single parameter and another with two parameters. Calling programs can use either
interface, depending on their requirements.
Search WWH ::




Custom Search