Sub-file Select programming

This is the part of RPG subfile program to process the selected customer.


  * Define the subfile and the variable that will hold record # (REC#) 
 FCUSD001   CF   E             WORKSTN                                
 F                                     SFILE(SFDATA:REC#)             
 FCUS       IF   E           K DISK                                   
  *                                                                   
 C     *IN03         DOWEQ     *OFF                                   
  * Show screen for user to enter the salesperson's number             
 C                   EXFMT     ENTSLS                                 
 C     *IN03         IFEQ      *OFF                                   
  * Clear the subfile                                                
 C                   EXSR      CLRSF                                  
  * Load  the subfile                                                
 C                   EXSR      LODSF                                  
  * Show the command key footer and then the subfile SFCTL           
 C                   WRITE     CMDKEYS                                
 C                   EXFMT     SFCTL                                  
  * Process any seleted records 
 C                   EXSR      SELRCD 
 C                   ENDIF                                            
 C                   ENDDO                                             
 C                   MOVE      *ON           *INLR                     
 C                   RETURN  
  *---------------------------------------------------------------------
 C     CLRSF         BEGSR                                             
  * Clear the subfile by writing a SFCTL record with Indicator 50 Off 
 C                   MOVE      *OFF          *IN50                     
 C                   WRITE     SFCTL                                   
 C                   MOVE      *ON           *IN50                     
  * Set the record number variable to zero                             
 C                   MOVE      *ZERO         REC#              4 0     
 C                   ENDSR                                             
  *---------------------------------------------------------------------
 C     LODSF         BEGSR                                             
  * Start reading the customer file for this salesperson                
 C     SLSPER        SETLL     CUS                                    10
 C     *IN10         IFEQ      *ON                            
 C     SLSPER        READE     CUS                                    95
 C     *IN95         DOWEQ     *OFF                                    
  * For every customer found, add 1 to the record # of the subfile    
  *                           and write that record to the subfile data
 C                   ADD       1             REC#                      
 C                   WRITE     SFDATA                                  
 C     SLSPER        READE     CUS                                    95
 C                   ENDDO                                             
 C                   ENDIF                                             
  * If subfile is empty, write a record that says "*NO RECORDS"       
 C     REC#          IFEQ      *ZERO                                   
 C                   ADD       1             REC#                      
 C                   CLEAR                   SFDATA                    
 C                   MOVEL     '*NO RECORDS*'CUSNAM                    
 C                   WRITE     SFDATA                                  
 C                   ENDIF                                             
 C                   ENDSR                                             
  *---------------------------------------------------------------------
 C     SELRCD        BEGSR                                             
  * Read the changed subfile data records 
 C                   READC     SFDATA                                 96
 C     *IN96         DOWEQ     *OFF                                    
 C     SEL           IFEQ      'X'                       
  * Process the customer
* either CHAIN to customer master and EXFMT a display screen * or CALL a program with CUSNUM as a parameter C ENDIF C ENDDO C READC SFDATA 96 C ENDSR *---------------------------------------------------------------------

Back to Source Code Page   |   Basic 400 Skills   |   Main Page