IBM Mainframe Forum Index
 
Register
 
IBM Mainframe Forum Index Mainframe: Search Log in to check your private messages Log in
 

Issue in Moving Alphanumeric x(03) to signed numeric s9(03)


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
kalyan.v

New User


Joined: 04 Feb 2008
Posts: 65
Location: Hyd

PostPosted: Fri Feb 14, 2014 12:14 pm
Reply with quote

Hi,

In one of our cobol requirement, I have cobol move as below

Code:
MOVE FIELD-1   TO   FIELD-2


FIELD-1 is the input copybook field with declaration X(03) and FIELD-2 is the output copybook field with declaration S9(03),I notice the mapping is not happening properly and output value is populating incorrectly.

Example 1:when we move input value 10 the output value is taking as +100 instead of +10.

Example 2:when we move input value 1 the output value is taking as '+1 0' instead of +1 . Can some one help me on this.

Note : Input will always have numeric value and input copybook fields FIELD-1 FIELD-2 declarations not to be changed.
Back to top
View user's profile Send private message
Pandora-Box

Moderator


Joined: 07 Sep 2006
Posts: 1566
Location: Andromeda Galaxy

PostPosted: Fri Feb 14, 2014 12:21 pm
Reply with quote

Use FUNCTION NUMVAL
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7312
Location: Inside the Matrix

PostPosted: Fri Feb 14, 2014 2:06 pm
Reply with quote

Use UNSTRING ... DELIMITED BY SPACE

Ensure that zero as your input does not appear as blank.

NUMVAL will work, but is a bit of a sledgehammer.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7312
Location: Inside the Matrix

PostPosted: Fri Feb 14, 2014 4:01 pm
Reply with quote

Sledgehammer because it uses a run-time routine which understands all editing possibilities for the data (which has none in this case) and which returns the value as a floating-point number which then has to go through several conversions to become the PIC 999. Check the generated code.

The UNSTRING doesn't do so much. If keen, there are lots of other ways to do it.
Back to top
View user's profile Send private message
rohanthengal

Active User


Joined: 19 Mar 2009
Posts: 195
Location: Globe, India

PostPosted: Thu Feb 20, 2014 12:29 pm
Reply with quote

yes, FUNCTION NUMVAL looks fine
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7312
Location: Inside the Matrix

PostPosted: Thu Feb 20, 2014 12:52 pm
Reply with quote

After all, clinet pays for CPU so may as well use as much as you can...
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 2508
Location: NY,USA

PostPosted: Sat Feb 22, 2014 1:57 am
Reply with quote

Kalyan, A little search could have avoided this thread as a very thoughtful discussion on the same requirement is already available over this forum and I am sure there are many as such.

Use [URL] BBCode for Links
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> COBOL Programming

 

Search our Forum:

Similar Topics
Topic Forum Replies
No new posts how to get total count from numeric d... SYNCSORT 9
No new posts XML-GENERATE to render edited numeric COBOL Programming 0
This topic is locked: you cannot edit posts or make replies. issue with Syntax error SYNCSORT 2
No new posts To convert numeric to Packed Decimal DFSORT/ICETOOL 9
No new posts Signed Count in Trailer SYNCSORT 7

Back to Top