CL /400
(INTERFACE)
Important points:-
1) SNDPGMMSG is used to display output on command line
valid for only char datatype.(so type casting is necessary)
2) SNDUSRMSG is used to display output
on display program messages screen, valid for only char datatype. (so type casting is necessary)
3) chgvar acts as an assignment
operator in cl/400.
4) Dcl command is used to
declare a variable.
5) Dclf command is used to
declare a file.
6) Sndrcvf is used to send and
receive values from/onto the screen.
7) To pass parameters at
runtime use parm parameter.(I mean for
user interactive programs use parm parameter).
8) A few display screens are
given go through it.
CLP1
0001.00 PGM
0002.00 DCL VAR (&A) TYPE (*CHAR) LEN (10) VALUE ('MNFRAMES')
0003.00 SNDPGMMSG MSG(&A)
0004.00 CHGVAR VAR(&A) VALUE('AS
400')
0005.00 SNDPGMMSG MSG(&A)
0006.00 ENDPGM
CLP31
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*CHAR) LEN(10)
VALUE(MAINFRAMES)
0003.00 SNDPGMMSG MSG(&A)
0004.00 CHGVAR VAR(&A) VALUE(AS400)
0005.00 SNDPGMMSG MSG(&A)
C1
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*CHAR) LEN(20)
VALUE(MAINFRAMES)
0003.00 DCL VAR(&B) TYPE(*CHAR) LEN(20)
VALUE(KEANE)
0004.00 DCL VAR(&C) TYPE(*CHAR) LEN(40)
0005.00 CHGVAR VAR(&C) VALUE(&A
*CAT &B)
0006.00 SNDPGMMSG MSG (&C)
07.0
ENDPGM
CLP32
0001.00 PGM
0002.00 DCL VAR (&A) TYPE(*CHAR) LEN(10)
VALUE(MAINFRAMES)
0003.00 DCL VAR(&B) TYPE(*DEC) LEN(10 0)
VALUE(333)
0004.00 CHGVAR VAR(&A)
VALUE(&B)
0005.00 SNDPGMMSG MSG(&A)
0006.00 ENDPGM
CLP33
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*DEC) LEN(10 0)
VALUE(333)
0003.00 DCL VAR(&B) TYPE(*DEC) LEN(10 0)
VALUE(333)
0004.00 DCL VAR(&C) TYPE(*DEC) LEN(10 0)
0005.00 DCL VAR(&D) TYPE(*CHAR) LEN(10)
0006.00 CHGVAR VAR(&C) VALUE(&A + &B)
0007.00 CHGVAR VAR(&D)
VALUE(&C)
0008.00 SNDPGMMSG MSG(&D)
0009.00
ENDPGM C2
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*DEC) LEN(10 3)
VALUE(100.25)
0003.00 DCL VAR(&B) TYPE(*DEC) LEN(10 3)
VALUE(110.25)
0004.00 DCL VAR(&C) TYPE(*DEC) LEN(10 3)
0005.00 DCL
VAR(&RES) TYPE(*CHAR) LEN(10)
0006.00 IF (&A > &B)
THEN(CHGVAR VAR(&C) VALUE(&A+&B))
0007.00 ELSE (CHGVAR VAR(&C)
VALUE(&A + 30))
0008.00 CHGVAR VAR(&RES)
VALUE(&C)
0009.00 SNDPGMMSG MSG(&RES)
0010.00 ENDPGM
CLP34
001.00 PGM
002.00 DCL VAR(&A) TYPE(*CHAR) LEN(10)
VALUE(MAIN)
003.00 DCL VAR(&B) TYPE(*CHAR) LEN(10)
VALUE(FRAMES)
004.00 DCL VAR(&C) TYPE(*CHAR) LEN(10)
005.00 DCL VAR(&D) TYPE(*CHAR) LEN(10)
VALUE('OTPT IS')
006.00 CHGVAR VAR(&C) VALUE(&A *CAT &B)
007.00 SNDPGMMSG MSG(&D
*CAT &C)
008.00 ENDPGM
CLP35
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*CHAR) LEN(10)
VALUE(PRAV)
0003.00 DCL
VAR(&B) TYPE(*CHAR) LEN(10) VALUE(EEN)
0004.00 DCL VAR(&C) TYPE(*CHAR) LEN(10)
0005.00 CHGVAR VAR(&C)
VALUE(&A *BCAT &B)
0006.00 SNDPGMMSG MSG(&C)
0007.00 ENDPGM
CLP36
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*CHAR) LEN(10)
VALUE( PRA )
0003.00 DCL VAR(&B) TYPE(*CHAR) LEN(10) VALUE(
VEEN)
0004.00 DCL VAR(&C) TYPE(*CHAR) LEN(10)
0005.00 CHGVAR VAR(&C) VALUE(&A *TCAT &B)
0006.00 SNDPGMMSG MSG(&C)
0007.00 ENDPGM
CLP99
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*CHAR) LEN(10)
VALUE(PRAVEEN)
0003.00 DCL VAR(&B) TYPE(*CHAR) LEN(10)
0004.00 CHGVAR VAR(&B)
VALUE(%SST(&A 2 5))
0005.00 SNDPGMMSG MSG(&B)
0006.00 ENDPGM
CLP37
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*DEC) LEN(10 0)
VALUE(333)
0003.00 DCL VAR(&B) TYPE(*DEC) LEN(10 0)
VALUE(333)
0004.00 DCL VAR(&C) TYPE(*CHAR) LEN(10 )
0005.00 /*
IF COND(&A *GT &B)
THEN(CHGVAR VAR(&C) VALUE(&A)) +
0006.00 ELSE CHGVAR VAR(&C)
VALUE(&B) +
0007.00 SNDPGMMSG MSG(&C) */
0008.00 IF COND(&A *EQ &B) THEN(SNDPGMMSG MSG(&C) VALUE('EQUAL'))
0009.00 ELSE SNDPGMMSG MSG(&C)
VALUE('NOT EQUAL')
0010.00 ENDPGM
C3
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*DEC) LEN(4 0)
VALUE(1000)
0003.00 DCL VAR(&B) TYPE(*DEC) LEN(4 0)
VALUE(1100)
0004.00 DCL VAR(&C) TYPE(*CHAR) LEN(10)
0005.00 IF COND(&A = &B)
THEN(CHGVAR VAR(&C) VALUE(EQUAL))
0006.00 ELSE CHGVAR VAR(&C)
VALUE(NOTEQUAL)
0007.00 SNDPGMMSG MSG(&C)
0008.00 ENDPGM
C4
0001.00 PGM
0002.00 DCL VAR(&NUM1) TYPE(*DEC) LEN(3 0)
VALUE(10)
0003.00 DCL
VAR(&NUM2) TYPE(*DEC) LEN(3 0) VALUE(0)
0004.00 DCL VAR(&RES) TYPE(*CHAR) LEN(10)
0005.00 START:
0006.00 CHGVAR VAR(&NUM2)
VALUE(&NUM1 + &NUM2)
0007.00 CHGVAR VAR(&NUM1)
VALUE(&NUM1 - 1)
0008.00 IF (&NUM1 *NL 1) THEN(GOTO
START)
0009.00 CHGVAR VAR(&RES) VALUE(&NUM2)
0010.00 SNDPGMMSG MSG(&RES)
0011.00 ENDPGM
C123
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*DEC) LEN(3 0)
VALUE(10)
0003.00 DCL VAR(&B) TYPE(*DEC) LEN(3 0)
VALUE(20)
0004.00 DCL VAR(&C) TYPE(*CHAR) LEN(10)
0005.00 DCL VAR(&D) TYPE(*CHAR) LEN(10)
0006.00 CHGVAR VAR(&A) VALUE(&A +
&B)
0007.00 CHGVAR VAR(&B) VALUE(&A -
&B)
0008.00 CHGVAR VAR(&A) VALUE(&A -
&B)
0009.00 CHGVAR VAR(&C)
VALUE(&A)
0010.00 CHGVAR VAR(&D)
VALUE(&B)
0011.00 SNDPGMMSG MSG(&C)
0012.00 SNDPGMMSG MSG(&D)
0013.00
ENDPGM
C7
0001.00 PGM
0002.00 DCL VAR(&NUM) TYPE(*DEC) LEN(2 0)
VALUE(6)
0003.00 DCL VAR(&I) TYPE(*DEC) LEN(2 0)
VALUE(1)
0004.00 DCL VAR(&FAC) TYPE(*DEC) LEN(4 0)
0005.00 DCL VAR(&RES) TYPE(*CHAR) LEN(10)
0006.00 CHGVAR VAR(&FAC)
VALUE(&NUM)
0007.00 START:
0008.00 CHGVAR VAR(&FAC)
VALUE(&FAC * &I)
0009.00 CHGVAR VAR(&I) VALUE(&I +
1)
0010.00 IF (&I< &NUM)
THEN(GOTO START)
0011.00 CHGVAR VAR(&RES)
VALUE(&FAC)
0012.00 SNDPGMMSG MSG(&RES)
0013.00 ENDPGM
C8
0001.00 PGM
0002.00 DCL VAR(&F1) TYPE(*DEC) LEN(4 0)
VALUE(1)
0003.00 DCL VAR(&F2) TYPE(*DEC) LEN(4 0)
VALUE(1)
0004.00 DCL VAR(&F3) TYPE(*DEC) LEN(5 0)
0005.00 DCL VAR(&I) TYPE(*DEC) LEN(2 0)
VALUE(1)
0006.00 DCL VAR(&RES) TYPE(*CHAR) LEN(10)
0007.00 DCL VAR(&R) TYPE(*CHAR) LEN(10)
0008.00 DCL VAR(&AP) TYPE(*CHAR) LEN(10)
0009.00 CHGVAR VAR(&RES)
VALUE(&F1)
0010.00 CHGVAR VAR(&R) VALUE(&F2)
0011.00 SNDPGMMSG MSG(&RES)
0012.00 SNDPGMMSG MSG(&R)
0013.00 START:
0014.00 CHGVAR VAR(&F3) VALUE(&F1
+ &F2)
0015.00 CHGVAR VAR(&AP)
VALUE(&F3)
0016.00 SNDPGMMSG MSG(&AP)
C9
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*CHAR) LEN(4)
VALUE('1234')
0003.00 DCL VAR(&B) TYPE(*DEC) LEN(4 0)
VALUE(12)
0004.00 DCL VAR(&C) TYPE(*CHAR) LEN(10)
0005.00 CHGVAR VAR(&B)
VALUE(&A)
0006.00 CHGVAR VAR(&C)
VALUE(&B)
0007.00 SNDPGMMSG MSG(&C)
0008.00 ENDPGM
CLPRUN
0001.00 PGM PARM(&N1 &N2)
0002.00 DCL VAR(&N1) TYPE(*DEC) LEN(15 5)
0003.00 DCL VAR(&N2) TYPE(*DEC)
0004.00 DCL VAR(&RES) TYPE(*CHAR) LEN(10)
0005.00 IF (&N1 > &N2)
THEN(DO)
0006.00 CHGVAR VAR(&N1)
VALUE(&N1*&N2)
0007.00 CHGVAR VAR(&RES)
VALUE(&N1)
0008.00 ENDDO
0009.00 ELSE (DO)
0010.00 IF (&N1 < &N2)
THEN(DO)
0011.00 CHGVAR VAR(&N1)
VALUE(&N1 + &N2)
0012.00 CHGVAR VAR(&RES)
VALUE(&N1)
0013.00 ENDDO
0014.00 ELSE (DO)
0015.00 CHGVAR VAR(&N1)
VALUE(&N1 - &N2)
0016.00 CHGVAR VAR(&RES)
VALUE(&N1)
0017.00 ENDDO
0018.00 ENDDO
0019.00 SNDPGMMSG MSG(&RES)
0020.00 ENDPGM
CLP12
0001.00 PGM
0002.00 DCLF FILE(WIZKID/DSPF1) RCDFMT(REC1)
0003.00 SNDRCVF RCDFMT(REC1)
0004.00 CHGVAR VAR(&C) VALUE(&A +
&B)
0005.00 SNDRCVF RCDFMT(REC1)
0006.00 ENDPGM
CLP3
0001.00 PGM
0002.00 DCLF FILE(WIZKID/DSPF2) RCDFMT(REC1)
0003.00 SNDRCVF RCDFMT(REC1)
0004.00 CHGVAR VAR(&C) VALUE('&A + &B')
0005.00 SNDRCVF RCDFMT(REC1)
0006.00 ENDPGM
CLP10
0001.00 PGM
0002.00 DCLF FILE(WIZKID/DSPF10) RCDFMT(REC1)
0003.00 SNDRCVF RCDFMT(REC1)
0004.00 CHGVAR (&T) VALUE(&S +
&D)
0005.00 SNDRCVF RCDFMT(REC1)
0006.00 ENDPGM
CLP007
0001.00 PGM
0002.00 DCLF FILE(WIZKID/SCREEN) RCDFMT(REC1)
0003.00 SNDRCVF RCDFMT(REC1)
0004.00 IF COND(&CH = 1) THEN(DO)
0005.00 START:
0006.00 CHGVAR VAR(&RES)
VALUE(&RES * &NUM)
0007.00 CHGVAR VAR(&NUM)
VALUE(&NUM - 1)
0008.00 IF (&NUM > 1) THEN(GOTO
START)
0009.00 ENDDO
0010.00 IF COND(&CH = 3) THEN(DO)
0011.00 START1:
0012.00 CHGVAR VAR(&RES) VALUE(&NUM + &RES)
0013.00 CHGVAR VAR(&NUM)
VALUE(&NUM - 1)
0014.00 IF (&NUM > 0) THEN(GOTO
START1)
0015.00 ENDDO
0016.00 IF COND(&CH = 2) THEN(DO)
0017.00 CHGVAR VAR(&NUM) VALUE(&NUM + &B)
0018.00 CHGVAR VAR(&B) VALUE(&NUM
- &B)
0019.00 CHGVAR VAR(&NUM)
VALUE(&NUM -&B)
0020.00 ENDDO
0021.00 SNDRCVF RCDFMT(REC1)
0022.00 ENDPGM
CLP009
0001.00 PGM
0002.00 DCLF FILE(WIZKID/PRACTICE) RCDFMT(REC1)
0003.00 SNDRCVF RCDFMT(REC1)
0004.00 IF COND(&CH = 1)
THEN(DO)
0005.00 CHGVAR VAR(&RES)
VALUE(&NUM1 + &NUM2)
0006.00 ENDDO
0007.00 IF COND(&CH = 2)
THEN(DO)
0008.00 CHGVAR VAR(&RES)
VALUE(&NUM1 - &NUM2)
0009.00 ENDDO
0010.00 IF COND(&CH = 3)
THEN(DO)
0011.00 CHGVAR VAR(&RES)
VALUE(&NUM1 * &NUM2)
0012.00 ENDDO
0013.00 SNDRCVF RCDFMT(REC1)
0014.00 ENDPGM
CLP5
0001.00 PGM
0002.00 DCL VAR(&A) TYPE(*DEC) LEN(4 0)
0003.00 DCL VAR(&B) TYPE(*DEC) LEN(4 0)
0004.00 DCL VAR(&D) TYPE(*DEC) LEN(4 0)
0005.00 DCLF FILE(WIZKID/DSPF2) RCDFMT(DSPF001)
0006.00 SNDRCVF RCDFMT(DSPF001)
0007.00 CHGVAR VAR(&D) VALUE(&A + &B)
0008.00 SNDRCVF RCDFMT(DSPF001)
0009.00 ENDPGM
CLP90
001.00 PGM
002.00 DCLF FILE(WIZKID/THO) RCDFMT(REC1)
003.00
SNDRCVF RCDFMT(REC1)
004.00 IF COND(&CH = 1 )
THEN(DO)
005.00 CHGVAR VAR(&RES) VALUE(&A
+ &B)
006.00 ENDDO
007.00 IF COND(&CH = 2 ) THEN(DO)
008.00 START:
009.00 CHGVAR VAR(&RES)
VALUE(&RES + &A)
010.00 CHGVAR VAR(&A) VALUE(&A -
1)
011.00 IF (&A > 0) THEN(GOTO
START)
012.00 ENDDO
013.00
SNDRCVF RCDFMT(REC1)
014.00 ENDPGM
C10
0001.00 PGM
0002.00 DCL VAR(&F) TYPE(*DEC) LEN(4 0)
0003.00 DCLF FILE(WIZKID/THO1) RCDFMT(REC1)
0004.00 SNDRCVF RCDFMT(REC1)
0005.00 CHGVAR VAR(&F)
VALUE(&A)
0006.00 CHGVAR VAR(&A)
VALUE(&B)
0007.00 CHGVAR VAR(&B)
VALUE(&F)
0008.00 SNDRCVF RCDFMT(REC1)
0009.00 ENDPGM CLP4
0001.00 PGM
PARM (&A)
0002.00 DCL VAR(&A) TYPE(*DEC) LEN(15 5)
0002.01 DCL VAR(&RES1) TYPE(*DEC) LEN(15 0)
VALUE(1)
0005.01 DCL VAR(&CHAR) TYPE(*CHAR) LEN(15)
0007.01 IF (&A=0) THEN(GOTO END)
0007.02 START:
ELSE (DO)
0007.03 CHGVAR VAR(&RES1)
VALUE(&RES1 * &A)
0008.00 CHGVAR VAR(&A) VALUE(&A-1)
0008.01 IF COND(&A>=2)
THEN(GOTO START)
0008.02 ENDDO
0008.05 END:
CHGVAR VAR(&CHAR)
VALUE(&RES1)
0008.06 SNDPGMMSG MSG(&CHAR)
0010.00
ENDPGM
CLP5
0001.00 PGM
PARM(&A &B &C)
0002.00 DCL VAR(&A) TYPE(*DEC)
0002.01 DCL VAR(&B) TYPE(*DEC)
0002.02 DCL VAR(&C) TYPE(*DEC) LEN(15 5)
0005.01 DCL VAR(&CHAR) TYPE(*CHAR) LEN(18)
VALUE('HARI')
0007.01
IF COND(&A > &B) THEN(DO)
0007.02
IF COND(&A > &C) THEN(CHGVAR VAR(&CHAR) VALUE('A IS
BIGGER'))
0007.07 ELSE CHGVAR VAR(&CHAR) VALUE('C
IS BIGGER NUMBER')
0007.08 ENDDO
0008.03
ELSE (DO)
0008.04 IF (&B > &C) THEN(CHGVAR
VAR(&CHAR) VALUE('B IS BIGGER'))
0008.05 ELSE CHGVAR VAR(&CHAR) VALUE('C IS
BIGGER')
0008.07 ENDDO
0008.11 SNDPGMMSG MSG(&CHAR)
0010.00
ENDPGM
CLP10
0001.00 PGM
0001.01
0001.02 DCL VAR(&A) TYPE(*DEC) LEN(5 2)
0001.03 DCL VAR(&B) TYPE(*CHAR) LEN(5)
0002.00 DCLF FILE(PVN/DSP11) RCDFMT(DSP001)
0003.00 SNDRCVF RCDFMT(DSP001)
0004.00 IF COND(&NUM1 *LT &NUM2)
THEN(DO)
0005.00 IF COND(&OPT = 1) THEN(GOTO CMDLBL(ADD))
0008.00 IF COND(&OPT = 2) THEN(GOTO
CMDLBL(SUB))
0015.00 IF COND(&OPT = 3) THEN(GOTO
CMDLBL(MUT))
0019.00 IF COND(&OPT = 4) THEN(GOTO
CMDLBL(DVI))
0023.00 IF COND(&OPT = 5) THEN(GOTO
CMDLBL(MID))
0026.00 ENDDO
0027.00 IF COND(&NUM1 *GT &NUM2)
THEN(DO)
0028.00 IF COND(&OPT = 1) THEN(GOTO
CMDLBL(SUB))
0031.00 IF COND(&OPT = 2) THEN(GOTO
CMDLBL(ADD))
0031.00 IF COND(&OPT = 2) THEN(GOTO
CMDLBL(ADD))
0034.00 IF COND(&OPT = 3) THEN(GOTO
CMDLBL(MUT))
0038.00 IF COND(&OPT = 4) THEN(GOTO
CMDLBL(DVI))
0042.00 IF COND(&OPT = 5) THEN(GOTO
CMDLBL(MID))
0045.00 ENDDO
0045.01
ADD: /* CHGVAR
VAR(&RES) VALUE(&NUM1 + &NUM2) */
0045.02
/*GOTO END
*/
0045.03
SUB: /* CHGVAR
VAR(&RES) VALUE(&NUM1 -
&NUM2) */
0045.04 /* GOTO END
*/
0045.05
MUT: /* CHGVAR VAR(&RES) VALUE(&NUM1 *
&NUM2) */
CLP11
0001.00 PGM
0002.00 DCL &A *CHAR 3
0002.01 DCL &RES *DEC (10 2)
0002.02 DCL &B *CHAR 15
0004.00 DCLF FILE(PVN/PFL)
0005.00
BEGIN:
0006.00 RCVF
RCDFMT(PFL)
0007.00 MONMSG
MSGID(CPF0864) EXEC(GOTO ENDL)
0007.01 CHGVAR VAR(&A)
VALUE(&EMPNUM)
0007.02 CHGVAR VAR(&B)
VALUE(&EMPSAL)
0007.03 CHGVAR VAR(&RES)
VALUE(&RES+&EMPSAL)
0008.00 SNDPGMMSG MSG(&EMPNAME *CAT ' ' *CAT &A *CAT ' ' *CAT &B)
0008.01
/* SNDPGMMSG
MSG(&EMPNAME) */
0009.00 GOTO BEGIN
0009.01 ENDL: CHGVAR VAR(&B)
VALUE(&RES)
0010.00 SNDPGMMSG MSG(&B)
ENDPGM
CLP111
0001.00 PGM
0004.00 DCLF FILE(PVN/DSP1)
0006.01 CHGVAR VAR(&NAME)
VALUE('NARAYANA')
0007.00 CHGVAR VAR(&AGE) VALUE(26)
0007.01 SNDF RCDFMT(DSP100)
0007.02 RCVF RCDFMT(DSP100)
0011.00 ENDPGM
CLP112
0001.00 PGM
0001.01 DCL &A *DEC (4 0) (0)
0001.02 DCL &B *DEC (4 0) (0)
0001.03 DCL &N1 *DEC (4 0) (0)
0001.04 DCL &N2 *DEC (4 0) (1)
0001.05 DCL &C *DEC (4 0) (0)
0001.06 DCL &CHAR *CHAR (4)
0001.07 DCLF
FILE(PVN/DSP2)
RCDFMT(DSP003)
0001.08 SNDRCVF RCDFMT(DSP003)
0004.05
IF COND(&CH = 1)
THEN(DO)
0004.06 STARTF:
0004.07 CHGVAR VAR(&RES) VALUE(&RES *
&NUM)
0004.08 CHGVAR VAR(&NUM)
VALUE(&NUM-1)
0004.09 IF (&NUM > 1) THEN(GOTO
STARTF)
0004.10 ENDDO
0004.11 IF (&CH = 2) THEN(DO)
0004.12 CHGVAR VAR(&CHAR)
VALUE(&N1)
0004.13 SNDPGMMSG MSG(&CHAR)
0004.14 CHGVAR VAR(&CHAR)
VALUE(&N2)
0004.15 SNDPGMMSG MSG(&CHAR)
0004.16 CHGVAR VAR(&NUM)
VALUE(&NUM-2)
0004.17 STARTFB:
0004.18 CHGVAR VAR(&A)
VALUE(&N1)
0004.19 CHGVAR VAR(&B)
VALUE(&N2)
0004.20 CHGVAR VAR(&C)
VALUE(&A+&B)
0004.20 CHGVAR VAR(&C)
VALUE(&A+&B)
0004.21 CHGVAR VAR(&CHAR)
VALUE(&C)
0004.22 SNDPGMMSG MSG(&CHAR)
0004.23 CHGVAR VAR(&N1) VALUE(&N2)
0004.24 CHGVAR VAR(&N2)
VALUE(&C)
0004.25 CHGVAR VAR(&NUM)
VALUE(&NUM-1)
0004.26 IF (&NUM > 0) THEN(GOTO
STARTFB)
0004.27 ENDDO
0005.08 IF
COND(&CH =3) THEN(DO)
0005.09 STARTA:
0005.10 CHGVAR VAR(&RES)
VALUE(&RES+&NUM)
0005.11 CHGVAR VAR(&NUM)
VALUE(&NUM-1)
0005.12 IF (&NUM > 0) THEN(GOTO
STARTA)
0005.13 ENDDO
0005.14 IF (&CH = 4) THEN(DO)
0005.15 CHGVAR VAR(&NUM)
VALUE(&NUM+&NUM1)
0005.16 CHGVAR VAR(&NUM1)
VALUE(&NUM-&NUM1)
0005.17 CHGVAR VAR(&NUM)
VALUE(&NUM-&NUM1)
0005.18 ENDDO
0005.19 SNDRCVF RCDFMT(DSP003)
0007.00 ENDPGM
CLP5
0001.00 PGM
0001.01 DCL &CH *CHAR 1
0001.02 DCL &N1 *DEC (5 0) (20)
0001.03 DCL &N2 *DEC (5 0) (10)
0001.04 DCL &N3 *DEC (6 0)
0001.05 DCL &CHAR *CHAR 6
0001.06 SNDBRKMSG MSG('please enter Y or N') +
0001.07
TOMSGQ(SATISH1/YSATISH) MSGTYPE(*INQ) +
0001.08
RPYMSGQ(PVN/VENKAT1)
0001.09 RCVMSG MSGQ(PVN/VENKAT1) MSGTYPE(*RPY)
MSG(&CH)
0002.00 IF (&CH='Y') THEN(CHGVAR VAR(&N3)
VALUE(&N1+&N2))
0002.01 ELSE (CHGVAR VAR(&N3)
VALUE(&N1-&N2))
0002.02
CHGVAR VAR(&CHAR)
VALUE(&N3)
0002.03 SNDPGMMSG MSG(&CHAR)
0003.00 ENDPGM
CLP55
0001.00 PGM
0001.01 DCL &CH *CHAR 5
0001.02 DCL &N1 *DEC (5 0) (20)
0002.02 CHGVAR VAR(&CH) VALUE(&N1)
0002.03 SNDPGMMSG MSG(&CH) TOPGMQ(*EXT)
0003.00 ENDPGM
No comments:
Post a Comment