COBOL

COBOL

COBOL

COBOL is responsible for the efficient, reliable, secure, and unseen day-to-day operations of the world's economy.

 View Only
Expand all | Collapse all

About AMODE 24 for COBOL V5.1

  • 1.  About AMODE 24 for COBOL V5.1

    Posted Mon January 06, 2014 10:07 AM

    Dear All,

    We plan migrate to COBOL V5.1 version.

    From migration Guide, we found

    Enterprise COBOL V5 programs continue to support dynamic CALL to or from AMODE 24 programs. For example:
        Enterprise COBOL V5 programs may dynamically CALL AMODE 24 programs created by prior versions of Enterprise COBOL.
        AMODE 24 COBOL programs created by prior versions of Enterprise COBOL may dynamically CALL Enterprise COBOL V5 programs.
        Enterprise COBOL V5 programs may dynamically CALL AMODE 24 assembler language programs.

    (1). Does AMODE 24 assembler language programs CALL(statically or dynamically) a Enterprise COBOL V5 programs ??

           Because we have many program were AMODE24 assembler CALL Enterprise COBOL V3.2 (AMODE24 and AMODE31)

          Need to clearly know, Does AMODE 24 assembler language programs CALL(statically or dynamically) a Enterprise COBOL V5 programs??

    (2). Existing modules (Enterprise COBOL V3.4)  that without re-compiler with COBOL V5.1,

          Could it Normal running for old existing modules in COBOL V5.1 and z/OS V1.13 Language environment ??

          For existing assembler, Does AMODE 24 assembler language programs CALL(statically or dynamically) a Enterprise COBOL V3.4 program in New z/OS V1.13 Language environment ??

          Just for Existing modules( without re-compiler for V5.1), Could it normal running in New Language environment ?? Thanks,

    .

    Any advice is welcome, thanks.

    Stan Yang.

     

    stan0110


  • 2.  Re: About AMODE 24 for COBOL V5.1

    Posted Tue January 07, 2014 07:42 PM

    Hi Stan, some answers below >>

    (1). Does AMODE 24 assembler language programs CALL(statically or dynamically) a Enterprise COBOL V5 programs ??

    >> "Dynamic CALL" is a COBOL term, to describe a dynamic COBOL CALL verb/statement.  With COBOL dynamic CALL the

    >> run-time can do "mode switching" between AMODE 24 and AMODE 31 programs  Assembler programs can do

    >> different kinds of CALLs also, but typically assembler CALLs are similar to COBOL static CALL, which means the called program

    >> is linked together with the calling assembler program at bind time.  This is not supported with AMODE 24 assembler calling

    >> COBOL V5 programs.  The short answer is that you cannot call COBOL V5 programs from AMODE 24 assembler programs.

           Because we have many program were AMODE24 assembler CALL Enterprise COBOL V3.2 (AMODE24 and AMODE31)

          Need to clearly know, Does AMODE 24 assembler language programs CALL(statically or dynamically) a Enterprise COBOL V5 programs??

    >> You could only do this by providing a intermediate assembler program that switches modes to AMODE 31 before calling COBOL V5.

    >> AMODE 24 assembler programs cannot call COBOL V5 programs

    (2). Existing modules (Enterprise COBOL V3.4)  that without re-compiler with COBOL V5.1,

          Could it Normal running for old existing modules in COBOL V5.1 and z/OS V1.13 Language environment ??

    >> I can't quite understand the question, but if you are asking if you can mix COBOL V5 programs with COBOL V3,4 programs,

    >> the answer is YES.  You must have all of the required service installed on your Language Environment and Binder, but then mixing

    >> old (V3R4) and new is fully supported

          For existing assembler, Does AMODE 24 assembler language programs CALL(statically or dynamically) a Enterprise COBOL V3.4 program in New z/OS V1.13 Language environment ??

    >> Yes, you can still run COBOL V3 (and V4) in AMODE 24.  This means it can be called by AMODE 24 assembler.

          Just for Existing modules( without re-compiler for V5.1), Could it normal running in New Language environment ??

    >> Yes, existing modules are not affected by the new COBOL V5 runtime support in LE.

    Tom.Ross


  • 3.  Re: About AMODE 24 for COBOL V5.1

    Posted Tue January 07, 2014 10:51 PM

    Dear Tom bro,

    Thanks for your clearly description, thanks very much !!

     

    Stan yang

     

    stan0110


  • 4.  Re: About AMODE 24 for COBOL V5.1

    Posted Wed August 06, 2014 07:28 AM

    DEAR  Mr TOM

    first time sharing this wonderful  forum<

    i'd like to inform you that i had a problem relating  calling cobol v5 pgm(amode32)

    from an assembler pgm(amode24) and i was trying many solutions as we are migrating to cobol v5 and have a lot of programs like that situation. 

    looking at ur very describtive & clear reply to Mr stan0110 .......finaly i  resolve it . 

    just want to thanks u a looooot..hope u all success.

    eng /mona soliman

    m.soliman


  • 5.  Re: About AMODE 24 for COBOL V5.1

    Posted Thu August 21, 2014 03:11 AM

    Hello,

    Does the following technote / APAR change the behavior in Stan Yang's (stan0110) scenario?

    Thank you & Regards,

    Kelvin

    Support for AMODE 24 added to Enterprise COBOL for z/OS V5.1.1

    http://www-01.ibm.com/support/docview.wss?uid=swg21667752

    APAR PM93583 and its PTFs change the Enterprise COBOL for z/OS V5.1 compiler to support AMODE 24 execution of programs. In addition, APAR PM93583 and its PTFs change Enterprise COBOL V5.1.0 to Enterprise COBOL V5.1.1 so that you can easily see if you have the AMODE 24 functionality in your compiler.

    APAR PI12151 and its PTFs change the Enterprise COBOL for z/OS V5 runtime to support AMODE 24. This allows Enterprise COBOL for z/OS V5.1.1 users to run Enterprise COBOL V5.1.1 programs with AMODE 24.

     

    kelvin_liu_zSW


  • 6.  Re: About AMODE 24 for COBOL V5.1

    Posted Thu August 21, 2014 11:58 AM

    Kelvin,

      Yes, APAR  PM93583 did change the answer to Stan's question.  We now have the same behavior with respect to AMODE 24 programs in COBOL V5 that we had with COBOL V3 and V4.  AMODE 24 programs can call COBOL V5 programs, and COBOL V5 programs can statically or dynamically call AMODE 24 programs, with the same set of restrictions that we had in COBOL V3 and V4.

    Tom

    Tom.Ross


  • 7.  Re: About AMODE 24 for COBOL V5.1

    Posted Tue August 21, 2018 05:01 AM

    CICS screen is calling a non LE assembler which inturn will call a cobol v5 module the call between non LE to cobol v5 is failing ..so I found out that we cannot call from non LE assembler to Cobol v5

    So can we have a intermediate assembler module which converts from Non LE to LE?

    If yes how to do this ?

    Can anyone please help and please recommend if any easier way to solve this problem

    Raghu Naik


  • 8.  Re: About AMODE 24 for COBOL V5.1

    Posted Tue August 21, 2018 02:00 PM

    You can do all of the same calls between assembler and COBOL V5 that you could with COBOL V3, so I think you have a misunderstanding.

    What you might do is open a service item, a PMR, and get some help from IBM level 2 to figure out what is going on.

     

    Non-LE assembler programs can definitely call COBOL V5 and V6 programs.  If there is something invalid in the assembler programs they

    might

    I have a question for you, why are they migrating to a compiler that is not in service?  They should be migrating to COBOL V6.2, not COBOL V5!

     

    Tom

    Tom.Ross


  • 9.  Re: About AMODE 24 for COBOL V5.1

    Posted Thu August 23, 2018 08:54 AM

    Hi Tom,

    Thank you for the valuable feed

    The IBM Cobol Migration Guide has stated that non-LE assembler calling(VCON call) Enterprise Cobol 5.2 is not supported under CICS

    it states that call will result in ASRA abend

     

    similarly in our case call failed with ASRA abend

     

    so we thought that converting to LE would be good option as it supports assembler calling(VCON call) Enterprise Cobol 5.2

     

    is there any other way this issue can be resolved ?

     

    i see that in IBM Cobol Migration Guide non-LE assembler calling(EXEC CICS LINK) Enterprise Cobol 5.2 is supported under CICS but i dont know

    how to call Enterprise Cobol 5.2  form non-LE assembler using EXEC CICS LINK

     

    Raghu Naik


  • 10.  Re: About AMODE 24 for COBOL V5.1

    Posted Thu August 23, 2018 01:10 PM

    Raghu,

     

      Sorry, I thought that you ran into this problem because you were migrating to COBOL V5.  I was correct that the assembler support is the same as it was before, but you must be talking about a newly created application, right?  It has never been supported.  So, I would recommend changing the assembler to be LE-conforming using CEEENTRY and CEEEXIT macros.

      Finally, you should also change your COBOL to COBOL V6, do not use COBOL V5 for new applications!  COBOL V6 is far superior to COBOL V5

     

    Tom

     

    Tom.Ross


  • 11.  Re: About AMODE 24 for COBOL V5.1

    Posted Fri August 24, 2018 06:06 AM

    Thankyou Tom

     

    Actually, issue is not due to newly developed application, it is due to migration only

     

    Earlier call between non- LE assembler and Cobol under CICS was working fine

     

    Call started to fail with ASRA when Cobol was migrated to Cobol V5.2

     

    So, after doing research we found out that non- LE assembler calling (VCON type call) Cobol 5.2 under CICS is not supported

    only LE is supported, so we thought converting to LE is the option to resolve the issue

     

    Can you please provide link to any of the non- LE to LE migration guide OR tutorials?

    Raghu Naik


  • 12.  Re: About AMODE 24 for COBOL V5.1

    Posted Fri August 31, 2018 07:39 PM

    To make assembler programs LE-conforming, use CDEEENTRY and CEEEXIT macros provided with Language Environment. 

    Look for CEEENTRY in the LE Programming Guide:

    https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.cee/cee.htm

     

    We do not consider it a migration, we consider it an optional improvement to your assembler programs.  Using the LE macros you can

    easily make your assembler programs reentrant as well as many other features of LE-conforming assembler, such as the ability to call

    COBOL programs in CICS!

    Tom

     

    Note:  It is strange that you started getting ABENDs with COBOL V5, your scenario should not have worked with COBOL V4 or COBOL V3 either.

    Note2: Please migrate to COBOL V6.2, do not migrate to COBOL V5.2!

    Tom.Ross