Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
conversion from numeric data to comp data

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX
View previous topic :: :: View next topic  
Author Message
surya anem

New User


Joined: 20 Dec 2007
Posts: 54
Location: Hyderabad

PostPosted: Wed Apr 16, 2008 12:25 pm    Post subject: conversion from numeric data to comp data
Reply with quote

Hi,
I am unable to convert numeric data to comp-data using rexx.
If anyone had already worked on it or if anyone have any ideas on it kindly let me know how to do the same.

I need the conversion to write the data back into the datafile after the conversion

with regards,
surya
Back to top
View user's profile Send private message

enrico-sorichetti

Global Moderator


Joined: 14 Mar 2007
Posts: 10327
Location: italy

PostPosted: Wed Apr 16, 2008 2:48 pm    Post subject: Reply to: conversion from numeric data to comp data
Reply with quote

things in REXX are character strings so whenfrocessing records ( in general )
fields must be parsed and converted accordingly

the representations that might be object of discussion are

hexadecimal fields with no numeric implications ( flags bits for example )
binary numbers
packed numbers

remember also that when converting You must reformat according to the picture ( decimal point issue)

here is snippet with samples of different conversions
Code:
hexad = '1234'x
binry = '0002'x
packd = '002c'x

say "hexad = '1234'x " hexad
say "binry = '0002'x " binry
say "packd = '002c'x " packd

say "c2x(hexad) " c2x(hexad)
say "c2x(binry) " c2x(binry)
say "c2x(packd) " c2x(packd)

say "c2d(hexad) " c2d(hexad)
say "c2d(binry) " c2d(binry)
say "c2d(packd) " c2d(packd)


say "unpack(packd) " unpack(packd)


exit

unpack: procedure
    parse arg packed
    /* Convert packed data to hex and split */
    char = c2x(packed)
    number = left( char, length(char)-1 )
    sign = right( char, 1 )
    /* Check sign and numeric sections */
    if  verify(sign, "ABCDEF" ) > 0 then ,
        return ""
    if  verify( number, "0123456789" ) > 0 then ,
        return ""
    /* Check negative sign */
    if  pos(sign, "BD" ) > 0 then,
        return -number
    else ,
    return  number
exit
Back to top
View user's profile Send private message
surya anem

New User


Joined: 20 Dec 2007
Posts: 54
Location: Hyderabad

PostPosted: Wed Apr 16, 2008 3:49 pm    Post subject: Reply to: conversion from numeric data to comp data
Reply with quote

Hi,
Thanks a lot..My code is working now. I always get confused between the conversions and this code of urs has cleared most of doubts.

with regards,
surya
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Copy 4 byte of data from the last rec... arunsoods DFSORT/ICETOOL 9 Fri Oct 06, 2017 12:15 pm
No new posts opening a dataset after reading it fr... arunsoods DFSORT/ICETOOL 5 Wed Oct 04, 2017 3:54 pm
This topic is locked: you cannot edit posts or make replies. PS file data should be passed as symb... d_sarlie JCL & VSAM 15 Tue Oct 03, 2017 5:18 am
No new posts File Aid tool to compare numeric data balaji81_k Compuware & Other Tools 2 Tue Sep 26, 2017 3:35 am
No new posts Remove leading spaces from numeric field rexx77 SYNCSORT 6 Wed Sep 06, 2017 2:15 am

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us