Ü  Load-All Subfile

·         In Load-All subfile all the records are written to the subfile buffer at once and then the data in the subfile loaded from the buffer.

·         In this case SFLSIZ should be at-least 1 greater than the SFLPAG.

·         If we are writing more records in the subfile buffer than the SFLSIZ declared and SFLSIZ<9999, then the SFLSIZ is extended to accommodate all records till the size of 9999. 9999 is the buffer limit.

·         In this case PAGEUP AND PAGEDOWN is taken care by system. SFLPAG should be less than SFLSIZ.

·         In load-All subfile if we do PAGEDOWN and then press ENTER on the page, by-default ENTER bring the display screen to the very first page irrespective of the current page number. To avoid this situation, we use file information data structure to get the current page RRN number and pass it to the SFLRCDNBR hidden field defined in the display file DDS.

  

Ü  Load all subfile Example

 

 

Physical file used in the program = MASTER

 

ORG CODE  ACC NUMBER    CURRENCY  OPEN DATE  PARTY NUM     A/C STS  ENT STS  VER STS  AUT STS  REC STS  TIMESTAMP
190    A00000000001    EUR      20120605  P00000000001     2        1        1        1        2     2012-06-05-03.07.34.011000
190    A00000000002    USD      20120605  P00000000002     3        1        1        1        2     2012-06-05-03.07.49.859000
190    A00000000004    EUR       1072012  P00000000004     2        2        1        1        2     0001-01-01-00.00.00.000000
190    A00000000005    USD       6072011  P00000000005     1        1        1        1        1     0001-01-01-00.00.00.000000
191    A00000000006    USD       9082012  P00000000006     2        1        1        1        1     0001-01-01-00.00.00.000000
191    A00000000007    EUR       9082000  P00000000007     2        1        1        1        1     0001-01-01-00.00.00.000000
191    A00000000008    USD       9082007  P00000000008     1        1        1        1        1     0001-01-01-00.00.00.000000
192    A00000000009    TRY       6092000  P00000000009     2        2        2        2        2     0001-01-01-00.00.00.000000
192    A00000000010    INR       1012012  P00000000001     2        1        1        1        2     0001-01-01-00.00.00.000001
192    A00000000011    INR       1012022  P00000000012     1        2        1        1        2     0001-01-01-00.00.00.000021
192    A00000000012    INR       1012022  P00000000002     2        2        1        1        2     0001-01-01-00.00.00.000011
********  End of data  ********


 

 


Display file used in the program = LOAD_DSP

 


Columns . . . :    1  80                  Browse                         AMIT/QRPGLESRC
SEU==>                                                                         LOAD_DSP
FMT DP .....AAN01N02N03T.Name++++++RLen++TDpBLinPosFunctions+++++++++++++++++++++++++++
*************** Beginning of data *****************************************************
0001.00      A                                      DSPSIZ(24 80 *DS3)
0002.00      A                                      CA03(03 'EXIT')
0003.00      A          R HEADER
0004.00      A                                      OVERLAY
0005.00      A                                  1  3USER
0006.00      A                                      DSPATR(HI)
0007.00      A                                      COLOR(BLU)
0008.00      A                                  1 71DATE
0009.00      A                                      EDTCDE(Y)
0010.00      A                                      DSPATR(HI)
0011.00      A                                      COLOR(BLU)
0012.00      A                                  2 71TIME
0013.00      A                                      DSPATR(HI)
0014.00      A                                      COLOR(BLU)
0015.00      A                                  1 23'DISPLAY THE LOADALL SUBFILE'
0016.00      A                                      DSPATR(HI)
0017.00      A                                      COLOR(BLU)
0018.00      A          R FOOTER
0019.00      A                                      OVERLAY
0020.00      A                                 23  7'F3'
0021.00      A                                      DSPATR(RI)
0022.00      A                                      COLOR(WHT)
0023.00      A                                 23 10'= EXIT'
0024.00      A                                 23 26'F12'
0025.00      A                                      DSPATR(HI)
0026.00      A                                      DSPATR(RI)
0027.00      A                                 23 30'=PREVIOUS'
0028.00      A          R EXPD_SFL                  SFL
0029.00      A  56                                  SFLNXTCHG
0030.00      A            S_ORG          3S 0O  8 12
0031.00      A            S_ACC         12A  O  8 28
0032.00      A            S_CCY          3A  O  8 49
0033.00      A          R EXPD_CTL                  SFLCTL(EXPD_SFL)
0034.00      A                                      OVERLAY
0035.00      A  52                                  SFLDSP
0036.00      A  51                                  SFLDSPCTL
0037.00      A  50                                  SFLCLR
0038.00      A  45                                  SFLEND(*MORE)
0039.00      A                                      SFLSIZ(0006)
0040.00      A                                      SFLPAG(0005)
0041.00      A            S_RECNO        4S 0H      SFLRCDNBR
0042.00      A                                  6 12'ORG CODE'
0043.00      A                                  6 27'ACCOUNT NUMBER'
0044.00      A                                  6 48'CURRENCY'
****************** End of data ******************************************************





MAIN PROGRAM

 


Columns . . . :    6  80                    Browse                      AMIT/QRPGLESRC
SEU==>                                                                      LOAD_RPGLE
FMT *   *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8
*************** Beginning of data ****************************************************
0001.00                                                                                
0002.00 HDEBUG(*YES)                                                                   
0003.00 HOPTION(*NODEBUGIO)                                                            
0004.00  *                                                                              
0005.00 FMASTER    IF   E           K DISK                                             
0006.00 FLOAD_DSP  CF   E             WORKSTN                                          
0007.00 F                                     SFILE(EXPD_SFL:RRN)                       
0008.00 F                                     INFDS(infds)                             
0009.00  *                                                                             
0010.00 Dinfds            DS                                                            
0011.00 DRECNO                  378    379I 0                                          
0012.00  *____________________________________________________________________         
0013.00  *______ In load-All subfile if we do PAGEDOWN and then press ENTER on         
0014.00  *______ the page, by-default ENTER bring the display screen to the very       
0015.00  *______ first page irrespective of the current page number. To avoid          
0015.01  *______ this situation, we use file information data structure to get the     
0015.02  *______ the current page RRN number and pass it to the SFLRCDNBR hidden       
0015.02  *______ field defined in the display file DDS.                                
0016.00  *____________________________________________________________________         
0017.00 C     *IN03         DOWEQ     *OFF                                             
0018.00 C                   EXSR      MAIN                                             
0019.00 C                   EXSR      DSPSFL                                           
0020.00 C                   ENDDO                                                      
0021.00 C                   SETON                                            LR        
0022.00 C*                                                                             
0023.00 C*_____________________________________________                                
0024.00 C*____________MAIN SUBROUTINE BEGINS HERE______                                 
0025.00 C*_____________________________________________                                
0026.00 C     MAIN          BEGSR                                                      
0027.00 C* _ _ _ PAGE UP / PAGE DOWN HANDLING NOT NEEDED_ _                            
0028.00 C                   ENDSR                                                      
0029.00 C*_________________________________________________                            
0030.00 C*_________________________________________________                            
0031.00 C*_______________CLEAR SUBFILE_____________________                            
0032.00 C*_________________________________________________                            
0033.00 C     CLRSFL        BEGSR                                                      
0034.00 C                   EVAL      RRN=0                                            
0035.00 C                   SETON                                        50            
0036.00 C                   WRITE     EXPD_CTL                                         
0037.00 C                   SETOFF                                       50            
0038.00 C                   ENDSR                                                      
0039.00 C*_________________________________________________                            
0040.00 C*_______________FIRST FUBROUTINE__________________                            
0041.00 C*_________________________________________________                             
0042.00 C*                                                                             
0043.00 C     *INZSR        BEGSR                                                      
0044.00 C                   SETOFF                                       505152        
0045.00 C                   SETOFF                                       45            
0046.00 C                   Z-ADD     *ZEROS        RRN               4 0              
0047.00 C                   EVAL      S_RECNO=1                                         
0048.00 C                   EXSR      CLRSFL                                           
0049.00 C                   EXSR      FILSFL                                           
0050.00 C                   EXSR      DSPSFL                                            
0051.00 C                   ENDSR                                                      
0052.00 C*_________________________________________________                            
0053.00 C*_______________FILL SUBFILE__________________                                
0054.00 C*_________________________________________________                            
0055.00 C*                                                                             
0056.00 C     FILSFL        BEGSR                                                      
0057.00 C                   SETOFF                                       45            
0058.00 C                   DOU       %EOF(MASTER)                                     
0059.00 C                   READ(N)   REC1                                             
0060.00 C                   IF        %EOF(MASTER)                                     
0061.00 C                   EVAL      *IN45=%EOF(MASTER)                               
0062.00 C                   LEAVESR                                                    
0063.00 C                   ENDIF                                                      
0064.00 C                   EVAL      S_ORG=ORG                                         
0065.00 C                   EVAL      S_ACC=ACC                                        
0066.00 C                   EVAL      S_CCY=CCY                                        
0067.00 C                   ADD       1             RRN                                
0068.00  *- - Don't write to subfile buffer if RRN>9999                                
0069.00 C                   IF        RRN>9999                                          
0070.00 C                   LEAVE                                                      
0071.00 C                   ENDIF                                                      
0072.00 C                   WRITE     EXPD_SFL                                          
0073.00 C                   ENDDO                                                      
0074.00 C                   ENDSR                                                      
0075.00 C*_________________________________________________                            
0076.00 C*                                                                             
0077.00 C     DSPSFL        BEGSR                                                      
0078.00 C                   SETON                                        5152          
0079.00  * - - - Handle session device error if RRN<=0 i.e. no data in the buffer        
0080.00 C                   IF        RRN<=0                                           
0081.00 C                   SETOFF                                       52            
0082.00 C                   ENDIF                                                      
0083.00  *                                                                             
0084.00 C                   WRITE     HEADER                                           
0085.00 C                   WRITE     FOOTER                                           
0086.00 C                   EXFMT     EXPD_CTL                                         
0087.00 C                   EVAL      S_RECNO=RECNO                                    
0088.00 C                   SETOFF                                       5152          
0089.00 C                   ENDSR                                                      
****************** End of data *****************************************************






OUTPUT

 

 

 


  AMIT                DISPLAY THE LOADALL SUBFILE                      2/21/13 
                                                                      08:07:59 
                                                                               
                                                                                
                                                                               
           ORG CODE       ACCOUNT NUMBER       CURRENCY                        
                                                                                
           190             A00000000001         EUR                            
           190             A00000000002         USD                            
           190             A00000000004         EUR                            
           190             A00000000005         USD                            
           191             A00000000006         USD                            
                                                                        More...
                                                                               
                   
                                                                               
  F3 = EXIT          F12 =PREVIOUS   













User Comments:



Subscribe

.  


Copyright © www.go4as400.com, 2013-2023. Copyright notice   Terms of services   Privacy policy