Is SAS-BLOCK or B-C-BILL ever referred to later in the program?  If so, post 
the code.  If not then just delete both fields from the linkage section.

________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of 
Mahesh KN <[email protected]>
Sent: Friday, April 24, 2020 5:21 AM
To: [email protected] <[email protected]>
Subject: Re: IGYSC2025-W cobol message

thanks Max,
i have more interesting code that looks like below.
 000015               *****************************************************
 000016               *           L I N K A G E   S E C T I O N           *
 000017               *****************************************************
 000018                LINKAGE SECTION.
 000019                01 DFHCOMMAREA.
 000020                   05 A-C-BILL                     PIC S9(8) COMP.
 000022                01 SAS-BLOCK.
 000023                   05 B-C-BILL                     PIC S9(8) COMP.
 000024               *****************************************************
 000025               *        P R O C E D U R E   D I V I S I O N        *
 000026               *****************************************************
 000027                PROCEDURE DIVISION.
 000028                    MOVE A-C-BILL     to     B-C-BILL.

in the above case, i think both 9(8) comp fields are some addresses(which 
doesnt matter much anyway) . But i still get IGYSC2025 warning on line 22 
SAS-BLOCK field definition.

________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of 
Massimo Biancucci <[email protected]>
Sent: Friday, April 24, 2020 2:58 PM
To: [email protected] <[email protected]>
Subject: Re: IGYSC2025-W cobol message

Hi,

any area having not an address can be a potential problem.

A sample of the code would have been better.
Anyway look at this:

 000015               *****************************************************

 000016               *           L I N K A G E   S E C T I O N           *

 000017               *****************************************************

 000018                LINKAGE SECTION.

 000019                01 PARM.

 000020                   05 PARM-PTR USAGE IS POINTER.

 000021

 000022                01 QQ PIC X(2).

 000023                01 QQ2 PIC X(2).

 000024               *****************************************************

 000025               *        P R O C E D U R E   D I V I S I O N        *

 000026               *****************************************************

 000027                PROCEDURE DIVISION USING PARM.

 000028

 000029                    DISPLAY 'ZPLINKUS - INIZIO'

 000030                    DISPLAY QQ

 000031

 000032                    SET ADDRESS OF QQ2 TO PARM-PTR

 000033                    DISPLAY QQ2

 000034

 000035                    DISPLAY 'ZPLINKUS - FINE'

 000036

 000037                    GOBACK.

......


    22  IGYSC2025-W   "QQ" or one of its subordinates was referenced, but
"QQ" w
                      addressability.  This reference will not be resolved
succe
Messages    Total    Informational    Warning    Error    Severe
 Terminating

As you can see compiler warns on QQ and not on QQ2.

QQ will have not a valid address and this will lead to abend (if you're
lucky) or to result error (difficult to diagnose).
So you should be sure the variable address had been set before using it.
Maybe compiler didn't understand a SET even though I think it's not so.

I've lots of examples where "bad programs ran properly" on V4 and prior and
abended on V5 or later because of bad addressed areas or misleaded
parm-area length.

Regards.
Max


<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Mail
priva di virus. www.avast.com<http://www.avast.com>
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

Il giorno ven 24 apr 2020 alle ore 09:51 Mahesh KN <[email protected]> ha
scritto:

> We are upgrading the Cobol to Cobol v 6.2.0. We have a program that was
> compile on Cobol v4.* and probably the code was running fine. But our shop
> has setup to take IGYSC2025 warnings seriously and not proceed with
> compilation under Cobol V6.
> So i am wondering how adsressability works if a linkage section variable
> is used in the program without having "USING" clause in the procedure
> section.
> There seems to be a misuse of linkage section to declare large copybooks
> to 'save' space while compiling. I am into application programming and
> didnt understand the full implication of IGYSC2025 warnings.
> thanks
> Mahesh.
>
> [
> https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif
> ]<
> https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
> Virus-free. www.avast.com<<http://www.avast.com<>
> https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
> >
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>

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

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

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

Reply via email to