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 ***********************************