File S231PFB Virtual Field Logic

LANSA

File S231PFB Virtual Field Logic


Calculations after input from file

*************** Beginning of data ************************************************
     C*0N01FACTOR1+++++++OPCODE(E)+FACTOR2+++++++RESULT++++++++LEN++D+HILOEQ      
     C*0N01FACTOR1+++++++OPCODE(E)+EXTENDED-FACTOR2+++++++++++++++++++++++++++    
     C*                                                                           
     C* VC_USING FIELDS(S_231BV1 S_231BV2 S_231BV3 S_231BF1 S_231BF2 S_231BF3)    
     C* Note Includes ALL real and virtual fields referred to in this logic       
     C*                                                                           
     C*                                                                           
     C* Note how %NULLIND is used to determine whether the field on               
     C* the physical file contains a null character.                              
     C* Note the ILE tag that instructs the compiler to use RPG IV                
     C* Note the special treatment of the binary field. The internal              
     C* (@B0004) field name was found from a previous compile listing.            
     C*                                                                           
     C*                                                                           
     C* If S_231BV1 contains the null character, set flag S_231BF1                
     C*                                                                           
     C**ILE              IF        %NULLIND(S_231BV1)                             
     C**ILE              MOVE      'Y'           S_231BF1                         
     C**ILE              ELSE                                                     
     C**ILE              MOVE      'N'           S_231BF1                
     C**ILE              ENDIF                                           
     C*                                                                  
     C* If S_231BV2 contains the null character, set flag S_231BF2       
     C*                                                                  
     C**ILE              IF        %NULLIND(S_231BV2)                    
     C**ILE              MOVE      'Y'           S_231BF2                
     C**ILE              ELSE                                            
     C**ILE              MOVE      'N'           S_231BF2                
     C**ILE              ENDIF                                           
     C*                                                                  
     C* If S_231BV3 contains the null character, set flag S_231BF3       
     C*                                                                  
     C**ILE              IF        %NULLIND(@B0004)                      
     C**ILE              MOVE      'Y'           S_231BF3                
     C**ILE              ELSE                                            
     C**ILE              MOVE      'N'           S_231BF3                
     C**ILE              ENDIF                                           
****************** End of data ******************************************
Calculations before output to file

*************** Beginning of data *************************************************
     C*0N01FACTOR1+++++++OPCODE(E)+FACTOR2+++++++RESULT++++++++LEN++D+HILOEQ       
     C*0N01FACTOR1+++++++OPCODE(E)+EXTENDED-FACTOR2+++++++++++++++++++++++++++     
     C*                                                                            
     C* VC_USING FIELDS(S_231BV1 S_231BV2 S_231BV3 S_231BF1 S_231BF2 S_231BF3)     
     C*                                                                            
     C* Indicate to the physical file which fields are to be set to null.          
     C* Base this on the value of the associated null flag field                   
     C* Note how %NULLIND is used to indicate to the physical file that a field    
     C* should be set to null.                                                     
     C* Note the use of the ILE tags that tell the compiler to use RPGIV           
     C* Note the special treatment of the binary field. The internal field name    
     C* (@B0004) was found from a previous compile listing.                        
     C*                                                                            
     C**ILE              IF        S_231BF1 = 'Y'                                  
     C**ILE              EVAL      %NULLIND(S_231BV1) = *ON                        
     C**ILE              ELSE                                                      
     C**ILE              EVAL      %NULLIND(S_231BV1) = *OFF                       
     C**ILE              MOVE      'N'           S_231BF1                          
     C**ILE              ENDIF                                                     
     C*                                                           
     C**ILE              IF        S_231BF2 = 'Y'                 
     C**ILE              EVAL      %NULLIND(S_231BV2) = *ON       
     C**ILE              ELSE                                     
     C**ILE              EVAL      %NULLIND(S_231BV2) = *OFF      
     C**ILE              MOVE      'N'           S_231BF2         
     C**ILE              ENDIF                                    
     C*                                                           
     C**ILE              IF        S_231BF3= 'Y'                  
     C**ILE              EVAL      %NULLIND(@B0004) = *ON         
     C**ILE              ELSE                                     
     C**ILE              EVAL      %NULLIND(@B0004) = *OFF        
     C**ILE              MOVE      'N'           S_231BF3         
     C**ILE              ENDIF                                    
****************** End of data ***********************************