This is an overview of the types of operations that can be performed by using CL programs or procedures.
PGM
DCL &C *LGL
DCL &A *DEC VALUE(22)
DCL &B *CHAR VALUE(ABCDE)
•
•
•
CHGVAR &A (&A + 30)
•
•
•
IF (&A < 50) THEN(CHGVAR &C '1')
•
DSPLIB ('Q' ∨∨ &B)
•
IF (%SST(&B 5 1)=E) THEN(CHGVAR &A 12)
•
•
•
ENDPGM



PGM
MONMSG MSGID(CPF0001) EXEC(GOTO ERROR)
CALL PROGA
CALL PROGB
RETURN
ERROR: SNDPGMMSG MSG('A CALL command failed') MSGTYPE(*ESCAPE)
ENDPGM

Used as a controlling program or procedure, a CL program or procedure can call programs or procedures written in other languages. The preceding figure shows how control can be passed between a CL program or procedure, RPG IV, and Integrated Language Environment® (ILE) COBOL procedures in an application. To use the application, a workstation user can request program A, which controls the entire application. The figure shows a single bound program (PGMA) that is called using the CALL command with PGMA. PGMA consists of the following procedures:

The procedures can be created as indicated in the following example. You can enter source for procedures in separate source members.
CRTCLMOD PGMA
CRTRPGMOD PGMB
CRTRPGMOD PGMC
CRTCLMOD PGMD
CRTCBLMOD PGME
CRTCLMOD PGMF
CRTPGM PGM(PGMA) +
MODULE(PGMA PGMB PGMC PGMD PGME PGMF) +
ENTMOD(*FIRST)