top of page

Modifying DB

Data base play a very important role in any application.

From Below example we will see a very simple RPG program (written in free format) how RPG modifies DB.

 

H Option(*NoDebugIo)                                                    
FEmppf     UF A E           K Disk                                      
DpId              S                   Like(Id)                          
DpName            S                   Like(Name)                        
DpMode            S              1                                      
C     *Entry        Plist                                               
C                   parm                    pMode                       
C                   parm                    pId                         
C                   parm                    pName                       
 /Free                                                                  
    Select;                                                             
    When pMode ='W';  // Write mode                                     
    ExSr WritePf;                                                       
    When pMode ='U'; // Update Mode                                     
    ExSr UpdatePf;                                                      
    When pMode ='D';  // Delete Mode                                    

    ExSr DeletePf;                        
    EndSl;                                
    *Inlr = *On;                          
  //--------------------------------------
  // Write                                
  //--------------------------------------
    BegSr WritePf;                        
      Id = pId;                           
      Name = pName;                       

      Setll (Id : Name) EmpRec;                                         
      If %Equal(EmpPf);                                                 
        Dsply 'Record Exist';                                           
      Else;                                                             
        Write EmpRec;                                                   
      EndIf;                                                            
    EndSr;                                                              
  //------------------------------------------------------------------- 
  // Update                                                             

  //------------------------------------------------------------------- 
    BegSr UpDatePf;                                                     
      Id = pId;                                                         
      Chain (Id) EmpRec;                                                
      If %Found(EmpPf);                                                 
        Name = pName;                                                   
        Update EmpRec;                                                  
      Else;                                                             
        Dsply 'Record not Exist';                                       

      EndIf;                                                            
    EndSr;                                                              
  //------------------------------------------------------------------- 
  //------------------------------------------------------------------- 
  // Delete                                                             
  //------------------------------------------------------------------- 
    BegSr DeletePf;                                                     
      Delete (pId : pName) EmpRec;                                      
    EndSr;                                                              

  //-------------------------------------------------------------------
 /End-Free                                                             

bottom of page