Creating pairs for z/OS device addresses for replication. The device addresses are a four digit HEX value: ie, 8E00 - 8E0F would be 16 addresses. When the variable Tgt_Address is output those values where the last digit of the hex string is a number between 0 and 9 (inclusive) the value is shown in exponential notation. When the last digit is alpha (A-F) the value is properly shown. Code segment below: /* ---------------------------------------------------------------------------------------------------------------------------------------- */ /* Build pairs for the TPF volumes. */ /* ---------------------------------------------------------------------------------------------------------------------------------------- */ data Work.Build_TPF; file MOVETPF; format tpfa hex4.; format Tgt_Address hex4.; if _N_ = 1 then Put @ 001 'Unit_Address' + (0) ',' + (0) 'Tgt_Serial_Number' + (0) ',' + (0) 'Tgt_Address' + (0) ',' + (0) 'Tgt_Volser' + (0) ',' ; retain Tgt_Address 8E00x; do tpfa = 7800x to 787Fx; Tgt_Volser = 'XX' || put(Tgt_Address,hex4.); Tgt_Serial_Number = 50344; put @ 001 tpfa + (0) ',' + (0) Tgt_Serial_Number + (0) ',' + (0) Tgt_Address + (0) ',' + (0) Tgt_Volser + (0) ',' ; Tgt_Address = Tgt_Address + 1; end; do tpfb = 7900x to 797Fx; Tgt_Volser = 'XX' || put(Tgt_Address,hex4.); Tgt_Serial_Number = 50344; put @ 001 tpfa + (0) ',' + (0) Tgt_Serial_Number + (0) ',' + (0) Tgt_Address + (0) ',' + (0) Tgt_Volser + (0) ',' ; ; Tgt_Address = Tgt_Address + 1; end; run;
... View more