View previous topic :: View next topic
|
Author |
Message |
rakeshnaredlla
New User
Joined: 04 Aug 2008 Posts: 26 Location: Hyderabad
|
|
|
|
Hi,
Using CCCA Tool I have converted my Cobol -II prog to Cobol 390.
When I am compiling this converted 390 Prog I am facing the compilation problem with the Index field. Please find the table declaration.
Code: |
15 SVCR-SUBL-OF-CORP-TBL-R REDEFINES
SVCR-SUBL-OF-CORP-TBL
OCCURS 6 TIMES
INDEXED BY SOCX. |
The error which I am getting is below:
Code: |
82800 PERFORM 4210-LOAD-CORP THRU 4210-EXIT
82900 VARYING SOCX OF SAVE-ALC-MASTER
180-S An index-name was qualified in "SOCX OF SAVE-ALC-MASTER". The statement
was discarded.
83000 FROM 1 BY 1
83100 UNTIL SOCX OF SAVE-ALC-MASTER > 6.
|
The compilation went free with COBOL-II but for Cobol -390 we are getting errors.
Please let me know how to resolve this . |
|
Back to top |
|
|
agkshirsagar
Active Member
Joined: 27 Feb 2007 Posts: 691 Location: Earth
|
|
|
|
what is SAVE-ALC-MASTER?
Index is not declared in the program, so It should not need qualifier.
TRY coding
Code: |
PERFORM 4210-LOAD-CORP THRU 4210-EXIT
82900 VARYING SOCX
83000 FROM 1 BY 1
83100 UNTIL SOCX OF SAVE-ALC-MASTER > 6. |
|
|
Back to top |
|
|
rakeshnaredlla
New User
Joined: 04 Aug 2008 Posts: 26 Location: Hyderabad
|
|
|
|
Hi,
SAVE-ALC-MASTER is a group variable which is at 01 level. The same table with SOCX is declared under another group variable ALC-MASTER. |
|
Back to top |
|
|
rakeshnaredlla
New User
Joined: 04 Aug 2008 Posts: 26 Location: Hyderabad
|
|
|
|
My requirement is to use the SOCX field of SAVE-ALC-MASTER. Please tell me the way to use this index field. Also the SAVE-ALC-MASTER and ALC-MASTER are copy book fields.... |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
My requirement is to use the SOCX field of SAVE-ALC-MASTER. |
Let's try this again ... the error message is telling you that SOCX as an index field cannot be qualified .. that is, you cannot say SOCX OF SAVE-ALC-MASTER. COBOL is quite clear on this. Either use SOCX as an unqualified field, or change your code to use some other field instead. But do not keep insisting you have to use that one qualified field -- COBOL isn't going to let you do so. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
SOCX is an index data item. it is not a field..... As Robert has attempted to tell you, you can not qualify an index data item.
Also:
This code will not compile under COBOL II either:
Code: |
PERFORM 4210-LOAD-CORP THRU 4210-EXIT
VARYING SOCX OF SAVE-ALC-MASTER
FROM 1 BY 1
UNTIL SOCX OF SAVE-ALC-MASTER > 6. |
|
|
Back to top |
|
|
|