Using the CL CALL Command - IBM - RPG

You can use the CL CALL command to run a program (type *PGM). You can use the command interactively, as part of a batch job, or include it in a CL program. If you need prompting, type CALL and press F4 (Prompt). If you need help, type CALL and press F1 (Help).

For example, to call the program EMPRPT from the command line, type:
CALL EMPRPT

The program object specified must exist in a library and this library must be contained in the library list *LIBL. You can also explicitly specify the library in the CL CALL command as follows:
CALL MYLIB/EMPRPT .

Once you call your program, the OS/400 system performs the instructions found in the program.

Passing Parameters using the CL CALL Command
You use the PARM option of the CL CALL command to pass parameters to the ILE program when you run it.

You can also type the parameters without specifying any keywords:
CALL library/program-name (parameter-1 parameter-2 ... parameter-n)

Each parameter value can be specified as a CL program variable or as one of the following:

  • A character string constant
  • A numeric constant
  • A logical constant

If you are passing parameters to a program where an ILE RPG procedure is the program entry procedure, then that program must have one and only one *ENTRY PLIST specified. The parameters that follow (in the PARM statements) should correspond on a one-to-one basis to those passed through the CALL command.

Refer to the CALL Command in the section on ″Passing Parameters between Programs″ in the CL Programming manual for a full description of how parameters are handled.

For example, the program EMPRPT2 requires the correct password to be passed to it when it first started; otherwise it will not run.This shows the source.

  1. To create the program, type:
    CRTBNDRPG PGM(MYLIB/EMPRPT2)
  2. To run the program, type:
    CALL MYLIB/EMPRPT2 (HELLO)

When the CALL command is issued, the contents of the parameter passed by the command is stored and the program parameter PSWORD points to its location. The program then checks to see if the contents of PSWORD matches the value stored in the program,('HELLO'). In this case, the two values are the same, and so the program continues to run.

ILE RPG Program that Requires Parameters at Run Time
ILE RPG Program that Requires Parameters at Run Time

This shows the DDS that is referenced by the EMPRPT2 source.

DDS for EMPRPT2
DDS for EMPRPT2


All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM - RPG Topics