Saturday, January 4, 2014

CL Programs.


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