Hi All,
Can anyone tell me how we can MOVE value of a X(19)
variable to a S9(17) COMP-3 variable?
Answer with an Example will be of great help.
Answers were Sorted based on User's Feedback
Answer / nicx
The function NUMVAL can be used to change the X(19) to S
(17) and then moved to comp-3
Ex:
ws-variable PIC X(19)
ws-variable-1 PIC S9(17)
ws-variable-1 PIC S9(17) comp-3
Compute ws-variable-1 = function numval(ws-variable)
move ws-variable-1 to ws-variable-2.
Ofcourse you should be expecting a signed 9(17) value in
the ws-variable. Check out NUMVAL-C too. Both functions are
a great help in such situations.
| Is This Answer Correct ? | 6 Yes | 0 No |
Answer / nk
05 MY-NUM-ALPHA PIC X(9).
05 MY-NUM REDEFINES MY-NUM-ALPHA PIC S9(17) COMP-3.
MOVE 'ABCDEFGHI' to MY-NUM-ALPHA.
note that comp-3 stores 2 numbers per byte so 17 digits
takes 9 bytes (half of one byte stores the sign.) So you
could move a 19-character variable to a 9-byte field but it
will be truncated.
| Is This Answer Correct ? | 5 Yes | 5 No |
Answer / gans
NICX's statements worked for me...
Thanks NICX....
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / ram.g
Vamsi, u r wrong, you have to read the 2nd answer again...
we can't perform any numeric operations on arithmetic field
thats right for overcome that scenario only we are using
the method called redefine. when you redefine its pointing
to the same loacation only but just telling the MVS
consider the new picture clause for the new variable..one
thing is sure here which is nothing but truncation when you
try to move x(...) to comp-3 but we can perform arithmetic
operations for sure..you can try it out....
| Is This Answer Correct ? | 2 Yes | 3 No |
Answer / vamsi
First of all s9(17) comp-3 will occupy 9 bytes and X(19) has
19 bytes of memory.
When we move the text value to an comp-3 field, we will get
Soc7 error. We cannot move alpha values to numeric fields.
If the X(17) contain numeric values then we can move this
field to s(17) comp-3 field and we can move only 9 bytes
other data will be trucated.
| Is This Answer Correct ? | 4 Yes | 8 No |
what is lrec=f,what is difference between f,fb,v,vb?what is default value?how do we came to know that records are in f,fb,v,vb?
ID DIVISION. PROGRAM-ID. PLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 VAR1 PIC 9(2). 01 VAR2 PIC X(2). PROCEDURE DIVISION. ACCEPT VAR2. MOVE VAR2 TO VAR1. STOP RUN. if i give 'PI' in var2 then what will b output of progr. any abend?????
Can you please let me know the centre name of INS certification in Kolkata.
What is diff between vsam and db2?what is advantage of db2 over vsam?which is best suited one?
study the following code 01 A1 05 B PIC 99 05 C PIC X(4) 01 A2 05 B PIC 99V99 05 C PIC A(4) pick out the valid statement from the following a.A1 and A2 can not have sub-ordinates b.A1 and A2 can have the same sub-ordinates but must have same PIC clause c.there is nothing wrong d.A1 and A2 can have same sub-ordinates provided they are not at 01 level
EXPLAIN MAIN FRAME TESTING PROCESS...HOW TO FIX THE MAINFRAME BUGS?
S9(5)V9(2) occupies how many bytes memory ?
What do you understand by passing by reference and passing by content?
soc-7 is a bad data,invalid data. when ever we are moving the alphabets in the position of numeric then we got this abend. so my question is if o1 ws-data pic 9(1) value passing the alphabet some x. then we got soc-7 or not? i want clarification ?
how we can edit records in vsam data set and non vsam data sets
What is different between variable length and fixed length?
When search all is used in cobol program without sorted input data?
6 Answers CGI, Principal Finance,