IBM Mainframe Forum Index
Log In
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register

Moving Comp-3 to a Comp variable.

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

New User

Joined: 23 Oct 2003
Posts: 6

PostPosted: Thu Dec 04, 2003 6:20 pm
Reply with quote

1. it possible to move a comp-3 field to a comp field or display field and vice versa..

2. it possible to redefine a field with comp-3 status to a comp status.

Thanks & regards,
Back to top
View user's profile Send private message

Active User

Joined: 29 Jul 2003
Posts: 237
Location: USA

PostPosted: Thu Dec 04, 2003 8:27 pm
Reply with quote


For PACKED-DECIMAL there are 2 digits for each character position, except for the trailing character position, which is occupied by the low-order digit and the sign. Such an item can contain any of the digits 0 through 9, plus a sign, representing a value not exceeding 18 decimal digits.

COMP-3 to NUMERIC since it contains sign fields, it can give S0C7

COMP-3 to COMP NO....Higher range to Lower range data movement is not possible

I am not too sure about this thing.
Will get back to you.

Hope this helps.


Mayuresh Tendulkar
Back to top
View user's profile Send private message

Super Moderator

Joined: 30 May 2003
Posts: 1592

PostPosted: Fri Dec 12, 2003 12:00 am
Reply with quote

Hi Mayuresh,

I'm not aware of any restrictions on moves from one numeric data type to another, provided that the field lengths are adequate to accommodate conversion of the digits (e.g.. 123C to F1F2C3). Unless I'm misreading what you wrote.


You can do the kind of redefine you mentioned, but you have to be very careful when you use the field (I wouldn't reccommend it). You must be aware of the kind of data that is in the field at the time you use it. For example, if you moved packed data in at some point but then forget and attempt to move it out using the COMP field name, the data conversion will be wrong causing an 0C7 when the receiving field is used in an arithmetic expression.

Another caution when doing that kind of redefines: you must define both fields so that they are the same length (NOT the same number of 9s).

Regards, Jack.
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


Similar Topics
Topic Forum Replies
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts Variable Output file name DFSORT/ICETOOL 8
No new posts COBOL - Move S9(11)v9(7) COMP-3 to -(... COBOL Programming 5
No new posts Moving Or setting POINTER to another ... COBOL Programming 2
No new posts parsing variable length/position data... DFSORT/ICETOOL 5
Search our Forums:

Back to Top