Page 1 of 1

How to convert a decimal valuie to hexadecimal using sort

Posted: Wed May 02, 2012 11:31 am
by harithag
Hi,

I need help in converting a decimal value to hexadecimal value using sort card.
Below are my requirements,
I have an input file with 834 records,in which each record looks like
ZZZZ11112098102012-04-20-09.24.19.000001
ZZZZ11113098202012-04-20-09.24.19.000002
.
.
.
.
and so on...

Now i want to convert the value starting from postion 9 to 12 i:e;the value 2098,3098 to hexadecimal values.How i can acheive this using sort.
Need the resolution ASAP.

Posted: Wed May 02, 2012 1:50 pm
by dbzTHEdinosauer
1. we don't asap anything, you are being rude.

2. show what characters you want in 9 thru 12 based on your input.

problem is, saying you want it in hexadecimal makes no sense.

do you want the binary equivalent of 2098 in 9 thru 12? 0832?

if you show us, then we can tell you what to do and what to call it.

Posted: Wed May 02, 2012 2:02 pm
by NicC
Try searching and not posting. If you cannot find by searching - there was an example earlier this week but may not have been this forum - the look in the manual for TOPD (I think). Certainly look in the manual for numeric conversions.

Posted: Wed May 02, 2012 2:08 pm
by harithag
Hi Dick,

Apologies for making the description rude.
Yes. I want the hexa equivalnet for 2098 i:e 0832.
Can you please assist.

Posted: Wed May 02, 2012 7:13 pm
by DikDude
Suggest you try TO=BI as you want binary result rather than a packed-decimal (PD) result.

Posted: Wed May 02, 2012 10:21 pm
by Frank Yaeger
Haritha,

What you actually want is to convert from zoned decimal (ZD) to binary (BI). Assuming you want to overlay the 4-byte ZD value with an equivalent 4-byte BI value, you can use a DFSORT job like the following:

Code: Select all

//S1 EXEC PGM=SORT                                               
//SYSOUT DD SYSOUT=*                                             
//SORTIN DD DSN=...  input file (FB)
//SORTOUT DD DSN=...  output file (FB)
//SYSIN DD *                                                     
  SORT FIELDS=(1,1,CH,A)                                         
  INREC OVERLAY=(9:9,4,ZD,TO=BI,LENGTH=4)                        
If you're not familiar with DFSORT and DFSORT's ICETOOL, I'd suggest reading through "z/OS DFSORT: Getting Started". It's an excellent tutorial, with lots of examples, that will show you how to use DFSORT, DFSORT's ICETOOL and DFSORT Symbols. You can access it online, along with all of the other DFSORT books, from:

http://www.ibm.com/support/docview.wss? ... g3T7000080