Blog Archive

RPGLE free format Call program example - AS400 (iSeries)

Free-format RPGLE does not support CALL. The only call possible in free-format is the prototype call, CALLP. Prototype call can be dynamic call or a bound call. If the keyword EXTPGM is specified on the prototype, the call will be a dynamic external call; otherwise it will be a bound procedure call.

A prototype for the program or procedure being called must be included in the definition specifications preceding the CALLP. Here is sample program A that calls another program B.

Sample RPGLE program to be called - PROGRAMB

d $name           s             30a                      
d $age            s              3s 0                    
d $message        s             52a                      
                                                         
c     *entry        plist                                
c                   parm                    $name        
c                   parm                    $age         
                                                         
 /free                                                   
                                                         
    $message = 'My name is ' + %trim($name) + ', ' +     
              'age ' + %trim(%editc($age:'Z')) + ' years.';
    dsply $message;                                      
                                                         
    eval *inlr = *on;                                    
    return;                                              
                                                         
 /end-free   

Sample RPGLE calling program - PROGRAMA

d $name           s             30a   inz('as400')     
d $age            s              3s 0 inz(21)          
                                                       
d ProgramB        PR                  Extpgm('PROGRAMB')
d $name_                        30a                    
d $age_                          3s 0                  
                                                       
 /free                                                 
                                                       
    ProgramB($name:$age);                              
                                                       
    eval *inlr = *on;                                  
    return;                                            
                                                       
 /end-free        

Tip: You can omit CALLP, thats implicit!

4 comments :

  1. This astonishing innovation gives individuals an opportunity to stay associated and identify with their friends and family for free. Enchantment Jack phone administration is developing extraordinarily quick as it is being utilized by thousands more individuals consistently. free phonecalls

    ReplyDelete