Page 1 of 1

Sort to convert PD to numeric

Posted: Tue Nov 08, 2011 6:20 pm
by archup20
I have PD field of length s9(14)v99 I got it converted to numeric using the code

SORT FIELDS=COPY
OUTREC FIELDS=(1,558,
559,9,PD,EDIT=(TTTTTTTTTTTTTTTTS),SIGNS=(,,+,-),
568,33)

But instead of getting the values with decimal like 17688.54 I am getting like this
1768854

Please give suggestions on how to get the decimal points.

Posted: Tue Nov 08, 2011 8:09 pm
by DikDude
You need to specify the decimal point in your EDIT= (i.e. TTT.TTS) using asd many leading T's as needed.

Posted: Tue Nov 08, 2011 11:26 pm
by Frank Yaeger
archup20,

You can use a DFSORT OUTREC statement like this:

Code: Select all

  OUTREC FIELDS=(1,558,                                            
              559,9,PD,EDIT=(TTTTTTTTTTTTTTT.TTS),SIGNS=(,,+,-),   
              568,33)                                              

Posted: Wed Nov 09, 2011 9:56 am
by archup20
Thanks DikDude and Frank. I got hte decimal point by using the below code

SORT FIELDS=COPY
OUTREC FIELDS=(1,558,
559,9,PD,EDIT=(sTTTTTTTTTTTTTT.TT),SIGNS=(,,+,-),
568,33)

But now I am getting too many leading zeroes and the negative signs are not visible.
Now 17688.54 comes like this 0000017688.54

I tried removing some leading T's but it is not working. Please suggest me on this.

Posted: Wed Nov 09, 2011 10:27 pm
by Frank Yaeger
You switched EDIT from a trailing sign to a leading sign, but you didn't fix SIGNS. For a leading sign, you need SIGNS=(+,-). If you don't want leading zeros, then use I instead of T. So you want something like this:

Code: Select all

  559,9,PD,EDIT=(SIIIIIIIIIIIIIT.TT),SIGNS=(,,+,-), 
This is all documented in the DFSORT books, so you can look it up and play with it until you get exactly what you want.

Posted: Thu Nov 10, 2011 10:25 am
by archup20
Thanks Frank!!!

I included your suggestions in my sort card and it works perfectly for me now. :D :)

Topic deleted by Admin

Posted: Thu Jan 21, 2016 10:23 am
by academyindia4
<< Content deleted By Admin >>