Oops, yes it is in the code snippet.

On Sat, Oct 9, 2021 at 2:22 PM Wayne Bickerdike <[email protected]> wrote:

> It's not obvious from the code snippet. I agree with Mike Schwab, qualify
> the name. The duplicate could be in a COPY statement.
>
> On Sat, Oct 9, 2021 at 11:24 AM Mike Schwab <[email protected]>
> wrote:
>
>> >  01 RECORD-NAME.
>> >       05  SUBSECTION-NAME.
>>
>> >      MOVE SUBSECTION-NAME TO WS-SUBSECTION-NAME.
>>
>> > 25779  IGYPS0037-S   "SUBSECTION-NAME" was not a uniquely defined
>> name.  The definition to be used could not be determined from the
>> >                       context.  The reference to the name was discarded.
>>
>> You have multiple SUBSECTION-NAME variables.  You need to qualify by
>> coding
>> MOVE SUBSECTION-NAME OF RECORD-NAME TO WS-SUBSECTION-NAME.
>>
>> Applies to all versions of COBOL.
>>
>> On Sat, Oct 9, 2021 at 1:02 AM Farley, Peter x23353
>> <[email protected]> wrote:
>> >
>> > This is an Enterprise COBOL V6.2 question.  I am not sure if this is a
>> compiler issue or a programmer misunderstanding issue.
>> >
>> > I have a COBOL subroutine which has multiple nested programs within
>> it.  The general structure is as follows (it's actually far more
>> complicated with COPY members and such, but this shows the basic issue).
>> Note carefully that the INSIDE1 subroutine is declared COMMON because other
>> nested subroutines (not shown here) may also CALL it besides the CALL from
>> the top-level program:
>> >
>> > ID DIVISION.
>> > PROGRAM-ID.  SUBMAIN.
>> > . . . . .
>> > WORKING-STORAGE SECTION.
>> >  01 RECORD-NAME.
>> >       05  SUBSECTION-NAME.
>> >             10  SUBSECTION-VAR PIC X.
>> > PROCEDURE DIVISION.
>> > . . . . .
>> >        CALL "INSIDE1" USING RECORD-NAME.
>> > . . . . .
>> >
>> > ID DIVISION.
>> > PROGRAM-ID. INSIDE1 COMMON.
>> > . . . . .
>> > WORKING-STORAGE SECTION.
>> >  01  WS-AREA.
>> >        05 WS-SUBSECTION-NAME PIC X.
>> > LINKAGE SECTION.
>> >  01 RECORD-NAME.
>> >       05  SUBSECTION-NAME.
>> >            10  SUBSECTION-VAR PIC X.
>> > . . . . .
>> > PROCEDURE DIVISION USING RECORD-NAME.
>> > . . . . .
>> >      MOVE SUBSECTION-NAME TO WS-SUBSECTION-NAME.
>> > . . . . .
>> >      EXIT PROGRAM.
>> > END-PROGRAM INSIDE1.
>> >
>> > END-PROGRAM SUBMAIN.
>> >
>> > The MOVE statement in the nested subroutine INSIDE1 gets this COBOL
>> error:
>> >
>> > 25779  IGYPS0037-S   "SUBSECTION-NAME" was not a uniquely defined
>> name.  The definition to be used could not be determined from the
>> >                       context.  The reference to the name was discarded.
>> >
>> > The V6.2 Language Reference Manual on page 60 says this about using
>> identical names in nested programs:
>> >
>> > "Identical names
>> > When programs are directly or indirectly contained within other
>> programs, each program can use identical
>> > user-defined words to name resources.
>> > A program references the resources that program describes rather than
>> the same-named resources
>> > described in another program, even if the names are different types of
>> user-defined words."
>> >
>> > Is that language in the manual telling me that I may have a compiler
>> bug here, or am I misunderstanding the language in the manual and have to
>> code the names used in the nested subroutine differently (e.g., by using a
>> unique prefix for all the common data names or at least for the top-level
>> name)?
>> >
>> > TIA for any assistance you can provide.
>> >
>> > Peter
>> > --
>> >
>> > This message and any attachments are intended only for the use of the
>> addressee and may contain information that is privileged and confidential.
>> If the reader of the message is not the intended recipient or an authorized
>> representative of the intended recipient, you are hereby notified that any
>> dissemination of this communication is strictly prohibited. If you have
>> received this communication in error, please notify us immediately by
>> e-mail and delete the message and any attachments from your system.
>> >
>> > ----------------------------------------------------------------------
>> > For IBM-MAIN subscribe / signoff / archive access instructions,
>> > send email to [email protected] with the message: INFO IBM-MAIN
>>
>>
>>
>> --
>> Mike A Schwab, Springfield IL USA
>> Where do Forest Rangers go to get away from it all?
>>
>> ----------------------------------------------------------------------
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to [email protected] with the message: INFO IBM-MAIN
>>
>
>
> --
> Wayne V. Bickerdike
>
>

-- 
Wayne V. Bickerdike

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to