KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm having the following problem in a COBOL program running on OpenVMS. I have the following variable declaration: 01 STRUCT-1. 02 FIELD-A PIC S9(6) COMP-3. 02 FIELD-B PIC S9(8) COMP-3. 01 STRUCT-2. 03 SUB-STRUCT-1. 05 FIELD-A PIC 9(2). 05 FIELD-B PIC 9(4). 03 SUB-STRUCT-2. 05 FIELD-A PIC 9(4). 05 FIELD-B PIC 9(2). 05 FIELD-C PIC 9(2). And the following code: * 1st Test: MOVE 112011 TO FIELD-A OF STRUCT-1 MOVE 20100113 TO FIELD-B OF STRUCT-1 DISPLAY "FIELD-A : " FIELD-A OF STRUCT-1 CONVERSION DISPLAY "FIELD-B : " FIELD-B OF STRUCT-1 CONVERSION * 2nd Test: MOVE 112011 TO SUB-STRUCT-1. MOVE 20100113 TO SUB-STRUCT-2. MOVE SUB-STRUCT-1 TO FIELD-A OF STRUCT-1 MOVE SUB-STRUCT-2 TO FIELD-B OF STRUCT-1 DISPLAY "SUB-STRUCT-1 : " SUB-STRUCT-1 DISPLAY "SUB-STRUCT-2 : " SUB-STRUCT-2 DISPLAY "FIELD-A : " FIELD-A OF STRUCT-1 CONVERSION DISPLAY "FIELD-B : " FIELD-B OF STRUCT-1 CONVERSION Which outputs: FIELD-A : 112011 FIELD-B : 20100113 SUB-STRUCT-1 : 112011 SUB-STRUCT-2 : 20100113 FIELD-A : 131323 FIELD-B : 23031303 Why FIELD-A and FIELD-B hold values different from what I move into them in the second test? I've other moves from DISPLAY to COMP-3 variables in my program where I don't get this behavior.
Tags (comma-separated)
Save Edits
Cancel