Dynamic XMl file creation in IFS using RPGLE Program - IBMI / AS400

How to create a dynamic XML file in IFS using RPGLE:-





 **Free             
                                                       
 *    Generate dynamic XML with RPGL                   
                                                                           
          Ctl-opt DftActGrp(*no) ActGrp(*new);                             
                                                                           
 *    Procedure for opening file                                           
                                                                           
                                                                           
          Dcl-pr open   int(10) ExtProc('open');                           
              *n   pointer    Value options(*string);   //File Path        
              *n   int(10)    value;                    //File Option      
              *n   uns(10)    value options(*nopass);   //Permission       
              *n   uns(10)   value options(*nopass);    //Codepage         
          End-pr;                                                          
                                                                           
 *    Procedure for writing data into file                                 
                                                                           
                Dcl-pr write int(10)  ExtProc('write');                    
                   *n   int(10)    value;               //File pointer     

                   *n   int(10)    value;               //File pointer          
                   *n   pointer    value;               //Pointer to data       
                   *n   uns(10)    value;               //Length of data        
                End-pr;                                                         
                                                                                
 *    Procedure for closing file                                                
                                                                                
                Dcl-pr close int(10)  ExtProc('close');                         
                   *n  int(10)    value;                //File Pointer          
                End-pr;                                                         
                                                                                
 *    Constant declaration                                                      
                                                                                
                      Dcl-C WriteFile          2;                               
                                                                                
                      Dcl-C CreateFile         8;                               
                                                                                
                      Dcl-C AppendFile       256;                               
                                                                                
                      Dcl-C ClearFile         64;                               
                      Dcl-c CRLF         x'0d25';                      
                                                                       
 *    Variable declaration                                             
                                                                       
           Dcl-S Output  int(10);                                      
           Dcl-S Content char(500);                                    
           Dcl-S Name    Varchar(100);                                 
           Dcl-S Email   Varchar(100);                                 
                                                                       
 *    File Opening                                                     
                                                                       
           Output = open('/home/SHARMIT/TechSharmit/Data.xml'          
                      :CreateFile+WriteFile+ClearFile                  
                      :(6*64)+(6*8)+(4));                              
           if Output < 0;                                              
              Dsply 'Error';                                           
           else;                                                       
                                                                       

                                                                 
            Name  = 'Sharmit';                                   
            Email = 'techsharmit@gmail.com';                     
                                                                 
            Content = '<Details>' + CRLF +                       
                      '<Name>'+Name+'</Name>' + CRLF +           
                      '<Email>'+Email+'</Email>' +  CRLF +       
                      '</Details>';                              
  *    File Writing                                              
                                                                 
            callp write(Output:%addr(Content):500);              
                                                                 
  *    File Closing                                              
                                                                 
            callp close(Output);                                 
                                                                 
            endif;                                               
                                                                 
          *inlr = *on;                           

Subscribe Tech Sharmit for more videos on IBMi / AS400

Please refer to the below video for the same topic.            


     
                
                                                                 




Comments

Popular posts from this blog

Compile Time Data Array in RPGLE - IBM i / AS400

Numeric Data type in RPGLE free format - IBM i / AS400