Friday, January 10, 2014

Reading A PF in Reverse Order in CL

I have seen many people discussing about reading a PF in CL in reverse order.

Just remember one thing -- PF should not have key if you are positioning on RRN.

The PF code --

ABCUST file structure :
                                                                         
 A          R RCUST                                                 

 A            CUSNO          5  0                                   
 A            CUSNM         30 


The CL Code -- 

PGM                                                               
             DCL        VAR(&NUBT) TYPE(*DEC) STG(*AUTO) LEN(10)  
             DCL        VAR(&NUBD) TYPE(*DEC) STG(*AUTO) LEN(10)  
             DCL        VAR(&TOT) TYPE(*DEC) STG(*AUTO) LEN(10)   
             DCLF       FILE(GALAXEOBJ/ABCUST) OPNID(ID)          
             RTVMBRD    FILE(GALAXEOBJ/ABCUST) NBRCURRCD(&TOT)    
    /*       CHGVAR     VAR(&TOT) VALUE(&NUBT + &NUBD)      */    
 READ:       OVRDBF     FILE(ABCUST) TOFILE(GALAXEOBJ/ABCUST) +   
                          MBR(*FIRST) POSITION(*RRN &TOT)         
             RCVF       RCDFMT(RCUST) OPNID(ID)                   
             CHGVAR     VAR(&ID_CUSNM) VALUE(&ID_CUSNM)           
             IF         COND(&TOT > 1) THEN(DO)                   
             CHGVAR     VAR(&TOT) VALUE(&TOT - 1)                 
             DLTOVR     FILE(*ALL)                                
             CLOSE      OPNID(ID)                                 
              GOTO READ          
              ENDDO              
 ENDPGM 





No comments:

Post a Comment