Quantcast
Channel: IBM Mainframe Computers Forums
Viewing all articles
Browse latest Browse all 8500

DFSORT/ICETOOL :: RE: Performing arithmetic on input field

$
0
0
Author: zh_lad
Posted: Thu Feb 09, 2017 10:49 pm (GMT 5.5)

Thanks Arun. Looks brilliant.

I am getting slightly incorrect result with this code.

Code:
//SORTIN   DD *                               
518791041070069                               
//SYSIN    DD *                               
    OPTION COPY                               
    INREC IFOUTLEN=16,IFTHEN=(WHEN=INIT,     
          OVERLAY=(16:1,1,UFF,MUL,+2,EDIT(TT),
                      3,1,UFF,MUL,+2,EDIT(TT),
                      5,1,UFF,MUL,+2,EDIT(TT),
                      7,1,UFF,MUL,+2,EDIT(TT),
                      9,1,UFF,MUL,+2,EDIT(TT),
                     11,1,UFF,MUL,+2,EDIT(TT),
                     13,1,UFF,MUL,+2,EDIT(TT),
                     15,1,UFF,MUL,+2,EDIT(TT),
                   16:(16,1,ZD,ADD,           
                       17,1,ZD,ADD,           
                       18,1,ZD,ADD,           
                       19,1,ZD,ADD,           
                       20,1,ZD,ADD,           
                       21,1,ZD,ADD,           
                       22,1,ZD,ADD,           
                       23,1,ZD,ADD,           
                       24,1,ZD,ADD,           
                      25,1,ZD,ADD,             
                      27,1,ZD,ADD,             
                      28,1,ZD,ADD,             
                      29,1,ZD,ADD,             
                      30,1,ZD,ADD,             
                      31,1,ZD,ADD,             
                      32,1,ZD,ADD,             
                      02,1,ZD,ADD,             
                      04,1,ZD,ADD,             
                      06,1,ZD,ADD,             
                      08,1,ZD,ADD,             
                      10,1,ZD,ADD,             
                      12,1,ZD,ADD,             
                      14,1,ZD),MUL,+9,EDIT=(T)))


output is:
Code:
5187910410700699


Check digit should be '8'. Addition is resulting 51, should have been 52.
51 x 9 = 459 ==> resulting CH as '9'.
52 x 9 = 468 ==> results CH as '8'.

Thanks.


Viewing all articles
Browse latest Browse all 8500

Trending Articles