Wednesday, December 4, 2013

Day-11.

Database file and Display file Interaction:

 Overview:
This module enables the student to understand the database file and display file interaction in RPG program.
 Outline:
Topics covered,

  • Display Records
  • Add Records through display file
  • Update Records through display file
  • Delete Records through display file
Objective:
By the end of this module, the student should be able to:
  • Add Records
  • Update Records
  • Delete Records
In this session we create a physical file and a display file. In this session we learn how to add records, delete records and update records in the physical file through display file.

  1. Physical File Description
Name:  EMP (Employee Master)
Record Format: EMPR
Fields: ID (length 3)
          ENAME (length 15)
          DEP (length 2)
          Sal (length 7 Decimal position 2)
Key Field: ID
2.    Display File
Name: EMPS
Record: S1, S2, S3
Field in Record S1: Opt (type Char length 1 (Input))
    SMSG (type Char length 35 (output))
Field in Record S2: IID (type Char length 3 (Input))
    SMSG1 (type Char length 35 (output))
Field in Record S3: SID (type Char length 3 (Both))
     SENAME (type Char length 15 (Both))
     SDEP (type Char length 2(Both))  
     SSal (type Numric length 7 Decimal position 2(Both))
  1. RPG program
Name: EMPRPG

Physical File Description

Columns . . . :    1  71            Edit                        PB01U01D/MYDDS
 SEU==>                                                                     EMP1
 FMT PF .....A..........T.Name++++++RLen++TDpB......Functions++++++++++++++++++
        *************** Beginning of data **********************************                          
0002.00      A          R REMP                                                  
0003.00      A              ID                3           COLHDG('EMPLOYEE ID')      
0004.00      A              ENAME    15           COLHDG('EMPLOYEE NAME')    
0005.00      A              DEP            2           COLHDG('EMPLOYEE DEP')     
0006.00      A              SAL            7  0       COLHDG('EMPLOYEE SAL')     
0007.00      A          K ID                                                   
        ****************** End of data ****************************************
                                                                                
                                                                       
                                                                                         
 F3=Exit   F4=Prompt   F5=Refresh   F9=Retrieve   F10=Cursor   F11=Toggle      
 F16=Repeat find       F17=Repeat change          F24=More keys                
                                         (C) COPYRIGHT IBM CORP. 1981, 2002.   

Create object of above file in PB01U01D

Display File Description

Record S1



UUUUUUUUUU                                                                                      DD/DD/DD 
                                                   OPTION SCREEN                                TT:TT:TT 
                                                                                  
                                                                                
                                                                                                                                                      
                                                                               
                                                                               
                       OPTION.........:  I                                      
                                                                               
                                                                                                                                      
                                                                               
                                                                               
                A=ADD NEW RECORD C=CHANGE RECORD D=DELETE RECORD                
                                                                               
                                                                               
                                                                                                                                         
                                                                               
    F3=EXIT                                                                     
  OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO                                          


Record S2
UUUUUUUUUU                                                                                 DD/DD/DD 
                                                       INQUIRY                                     TT:TT:TT 
                                                                               
                                                                               
                                                                                                                                                                                                                                                                                                 
                                                                               
                       EMPLOYEE ID....:  III                                    
                                                                                                                                                               
                                                                               
                                                                               
                                                                                
                                                                               
    F3=EXIT                                                                    
  OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO                                               



Record S3
UUUUUUUUUU                                                                                          DD/DD/DD 
                                                EMPLOYEE DETAILS                                 TT:TT:TT 
                                                                                
                                                                               
                                                                               
                            EMPLOYEE ID....:      BBB                               
                                                                               
                            EMPLOYEE NAME..: BBBBBBBBBBBBBBB                   
                                                                                
                            EMPLOYEE DEPT..:    BB                                
                                                                               
                            EMPLOYEE SAL...:     9999999.99                         
                                                                               
                                                                                                                                                      
     F2=SAVE   F3=EXIT  F4=DELETE                                              
                                                                               

 Note:-  F2=SAVE and F4=DELETE are nondisplay fields F2 is condition with indicator 21 and F4 is condition with indictor 22

DDS For Display File. 

Columns . . . :    1  71            Edit                        PB01U01D/MYRPG
SEU==>                                                                    EMPS
 FMT A* .....A*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 
        *************** Beginning of data *************************************
0000.10      A*%%TS  SD  20050307  123700  PB01U01     REL-V5R2M0  5722-WDS    
0000.20      A*%%EC                                                            
0000.30      A                                      DSPSIZ(24 80 *DS3)         
0000.40      A          R S1                                                   
0000.50      A*%%TS  SD  20050307  123700  PB01U01     REL-V5R2M0  5722-WDS    
0000.60      A                                      CF03(03)                   
0000.70      A                                  1 71DATE                       
0000.80      A                                      EDTCDE(Y)                  
0000.90      A                                  2 71TIME                       
0001.00      A                                  1  2USER                       
0001.10      A                                  2 34'OPTION SCREEN'            
0001.20      A                                      DSPATR(HI)                 
0001.30      A                                 23  5'F3=EXIT'                  
0001.40      A                                      COLOR(BLU)                 
0001.50      A                                 16 17'A=ADD NEW RECORD C=CHANGE 
0001.60      A                                      =DELETE RECORD' 
0001.70      A                                      DSPATR(HI)                 
0001.80      A                                 10 24'OPTION.........:'         
0001.90      A            OPT            1A  I 10 42                           
0002.00      A            SMSG          35   O 24  3DSPATR(HI)                 
0002.10      A          R S2                                                   
0002.20      A*%%TS  SD  20050307  123700  PB01U01     REL-V5R2M0  5722-WDS    
0002.30      A                                      CF03(03)                   
0002.40      A                                  1 71DATE                       
0002.50      A                                      EDTCDE(Y)                  
0002.60      A                                  2 71TIME                        
0002.70      A                                  1  2USER                       
0002.80      A                                 23  5'F3=EXIT'                  
0002.90      A                                      COLOR(BLU)                 
0003.00      A                                  2 37'INQUIRY'                  
0003.10      A                                      DSPATR(HI)                 
0003.20      A                                 11 24'EMPLOYEE ID....:'         
0003.30      A            IID            3A  I 11 42                            
0003.40      A            SMSG1         30A  O 24  3DSPATR(HI)                 
0003.50      A          R S3                                                   
0003.60      A*%%TS  SD  20050305  172148  PB01U01     REL-V5R2M0  5722-WDS     
0003.70      A                                      CF02(02)                   
0003.80      A                                      CF03(03)                   
0003.90      A                                      CF04(04)                   
0004.00      A                                  1 71DATE                       
0004.10      A                                      EDTCDE(Y)                  
0004.20      A                                  2 71TIME                       

0004.30      A                                  1  2USER                       
0004.40      A                                 23 16'F3=EXIT'                   
0004.50      A                                      COLOR(BLU)                 
0004.60      A                                  6 29'EMPLOYEE ID....:'         
0004.70      A                                  2 33'EMPLOYEE DETAILS'         
0004.80      A                                      DSPATR(HI)                 
0004.90      A                                  8 29'EMPLOYEE NAME..:'         
0005.00      A                                 10 29'EMPLOYEE DEPT..:'         
0005.10      A                                 12 29'EMPLOYEE SAL...:'         
0005.20      A                                 23  6'F2=SAVE'                  
0005.30      A                                      COLOR(BLU)                 
0005.40      A  21                                  DSPATR(ND)                 
0005.50      A            SENAME        15A  B  8 46                            
0005.60      A            SID            3A  B  6 46                           
0005.70      A            SDEP           2A  B 10 46                           
0005.80      A            SSAL           9Y 0B 12 46EDTWRD('       .  ')       
0005.90      A                                 23 25'F4=DELETE'                
0006.00      A                                      COLOR(BLU)                 
0006.10      A  22                                  DSPATR(ND)                 
        ****************** End of data ****************************************



                                                                              
 F3=Exit   F4=Prompt   F5=Refresh   F9=Retrieve   F10=Cursor   F11=Toggle      
 F16=Repeat find       F17=Repeat change          F24=More keys                


RPG/400 Program Description
EMPRPG

Columns . . . :    1  71            Edit                        PB01U01S/MYRPG
 SEU==>                                                                  EMPRPG
 FMT *  ..... *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 
        *************** Beginning of data *************************************
0000.01       *PHYSICAL FILE EMP                                               
0002.00      FEMP1     UF  E           K        DISK                      A     
0002.01       *DISPLAY FILE EMPS                                               
0003.00      FEMPS    CF  E                    WORKSTN                         
0003.01       *DEFINEING MESSAGES                                              
0003.02      I              'WROMG EMP NO'         C         MSG                
0003.03      I              'RECORD UPDATED'      C         MSG1               
0003.04      I              'RECORD DELETED'       C         MSG2               
0003.05      I              'RECORD ADDED'          C         MSG3               
0004.00       *                                                                
0004.01      C                           READ REMP                      90            
0005.00      C           *IN03     DOWEQ*OFF                                   
0005.02      C                          MOVE *BLANKS   SMSG                         
0005.03      C           AA         TAG                                          
0005.04      C                          EXFMTS1                                     
0005.05      C   03                   LEAVE                                       
0005.06       ****************************************************************
0005.07       *FOR ADDITION OPTION                                             
0005.08       **************************************************************** 
0005.09      C           OPT       IFEQ 'A'                                    
0005.10      C                         SETOF                     21                
0005.11      C                         EXSR B2S                                    
0005.12      C                         SETON                     22                
0005.13      C           BB        TAG                                         
0005.14      C                        EXFMTS3                                     
0005.15       *IF F3 IS PRESSED IN FIRST SCREEN (S1)                           
0005.16      C           *IN03  IFEQ *ON                                    
0005.17      C                       SETON                     21                
0005.18      C                       SETOF                     03                
0005.19      C                       GOTO AA                                      
0005.20      C                       ENDIF                                       
0005.21       *IF F2 IS PRESS FOR THE WRITE THE RECORDS IN THE FILE            
0005.22      C           *IN02  IFEQ *ON                                     
0005.23      C                       EXSR S2P                                    
0005.24      C                      WRITEREMP                                   
0005.25      C                      MOVELMSG3      SMSG                         
0005.26      C                      SETOF                     02                
0005.27      C                      SETON                     21                
0005.28      C                      GOTO AA                                     
0005.29      C                      ELSE                                        
0005.30      C                      GOTO BB                                     
0005.31      C                      ENDIF                                       
0005.32       *                                                                 
0005.33      C                      ENDIF                                       
0005.34       *************************************************************    
0005.35       *FOR CHANGE OPTION                                                
0005.36       *************************************************************    
0005.37      C           OPT       IFEQ 'C'                                    
0005.38      C                         MOVE *BLANKS   SMSG1                        
0005.39      C                         EXFMTS2                                     
0005.40       *                                                                
0005.41       *IF F3 IS PRESSED IN SECOND SCREEN(S2) DURING CHANGE OPTION      
0005.42      C           *IN03   IFEQ *ON                                    
0005.43      C                         SETOF                     03                
0005.44      C                         GOTO AA                                      
0005.45      C                         ENDIF                                       
0005.46      C           IID         CHAINREMP                  92                
0005.47       *                                                                
0005.48      C           *IN92     IFEQ *ON                                    
0005.49      C                          MOVELMSG       SMSG1                        
0005.50      C                          EXFMTS2                                     
0005.51      C                          ENDIF                                       
0005.52       *                                                                
0005.55       *                                                                
0005.56      C           *IN92    IFEQ *OFF                                   
0005.57      C                         SETOF                     21                
0005.58      C                         SETON                     22                
0005.59      C                         EXSR P2S                                     
0005.60      C           CC         TAG                                         
0005.61      C                          EXFMTS3                                     
0005.62       *                                                                
0005.63       *IF F3 IS PRESSED IN THIRED SCREEN(S3) DURING CHANGE OPTION      
0005.64      C           *IN03     IFEQ *ON                                    
0005.65      C                          SETOF                     03                 
0005.66      C                          SETOF                     21                
0005.67      C                           SETOF                     22                
0005.68      C                           GOTO AA                                     
0005.69      C                           ENDIF                                       
0005.70       *                                                                
0005.71      C           *IN02     IFEQ *ON                                    
0005.72      C                          EXSR S2P                                    
0005.73      C                          UPDATREMP                                    
0005.74      C                          MOVE *BLANKS   SMSG1                        
0005.75      C                           MOVELMSG1      SMSG1                        
0005.76      C                           SETON                     21                
0005.77      C                           EXFMTS2                                     
0005.78      C                           ELSE                                         
0005.79      C                           GOTO CC                                     
0005.81      C                           ENDIF                                       
0005.81      C                           ENDIF                                        
0005.82      C                           ENDIF                                       
0005.83       *************************************************************    
0005.84       *FOR DELETE OPTION                                                
0005.85       *************************************************************    
0005.86      C           OPT        IFEQ 'D'                                    
0005.87      C                          MOVE *BLANKS   SMSG1                        
0005.88      C                          EXFMTS2                                     
0005.89       *                                                                
0005.90       *IF F3 IS PRESSED IN SECOND SCREEN(S2) DURING DELETE OPTION      
0005.91      C           *IN03     IFEQ *ON                                    
0005.92      C                          SETOF                     03                
0005.93      C                          GOTO AA                                     
0005.94      C                          ENDIF                                       
0005.95       *                                                                
0005.96      C           IID         CHAINEMP                  93                
0005.97       *                                                                 
0005.98      C           *IN93    IFEQ *ON                                    
0005.99      C                         MOVELMSG       SMSG1                        
0006.00      C                         EXFMTS2                                      
0006.01      C                         ENDIF                                       
0006.02       *                                                                
0006.03      C           *IN93    IFEQ *OFF                                    
0006.04      C                         SETOF                     22                
0006.05      C                         SETON                     21                
0006.06      C                         EXSR P2S                                    
0006.07      C                         EXFMTS3                                     
0006.08       *IF F3 IS PRESSED IN THIRED SCREEN(S3) DURING DELETE OPTION      
0006.09      C           *IN03   IFEQ *ON                                    
0006.10      C                        SETOF                     03                
0006.11      C                        SETON                     21                
0006.12      C                        SETON                     22                
0006.13      C                        GOTO AA                                     
0006.14      C                        ENDIF                                       
0006.15      C           *IN04   IFEQ *ON                                    
0006.16      C                        DELETREMP                                    
0006.17      C                        MOVELMSG2      SMSG                         
0006.18      C                        SETON                     21                
0006.19      C                        SETON                     22                
0006.20      C                        GOTO AA                                     
0006.21      C                        ENDIF                                       
0006.22      C                        ENDIF                                        
0006.23      C                        ENDIF                                       
0006.24      C                        ENDDO                                       
0007.00      C                        SETON                     LR                 
0008.00       *****************************************************************
0009.00       **P2S SUB ROUTINE:-PF FILE FIELDS VALUE IS MOVED TO SEREEN FIELDS
0009.01       *****************************************************************
0010.00      C           P2S       BEGSR                                       
0011.00      C                        MOVELID        SID                          
0012.00      C                        MOVELENAME     SENAME                       
0013.00      C                        MOVELDEP       SDEP                         
0014.00      C                        MOVELSAL       SSAL                         
0015.00      C                        ENDSR                                       
0016.00       **************************************************************** 
0017.00       **S2P SUB ROUTINE:SCREEN FIELDS VALUE IS MOVED TP PF FIELDS      
0017.01       **************************************************************** 
0018.00      C           S2P       BEGSR                                        
0019.00      C                        MOVELSID       ID                           
0020.00      C                        MOVELSENAME    ENAME                        
0021.00      C                        MOVELSDEP      DEP                           
0022.00      C                        MOVELSSAL      SAL                          
0023.00      C                        ENDSR                                       
0024.00       **************************************************************** 
0025.00       **B2S SUB ROUTINE: BLANKS ARE MOVED TO SCREEN FIELDS             
0025.01       **************************************************************** 
0026.00      C           B2S       BEGSR                                       
0027.00      C                         MOVEL*BLANKS   SID                          
0028.00      C                         MOVEL*BLANKS   SENAME                       
0029.00      C                         MOVEL*BLANKS   SDEP                         
0030.00      C                         MOVEL*ZEROS    SSAL                         
0031.00      C                         ENDSR                                       
0032.00       **                                                               
        ****************** End of data ****************************************
                                                                               
                                                                               
                                                                              
 F3=Exit   F4=Prompt   F5=Refresh   F9=Retrieve   F10=Cursor   F11=Toggle      
 F16=Repeat find       F17=Repeat change          F24=More keys                



No comments:

Post a Comment