IBM Z and LinuxONE IBM Z

Expand all | Collapse all

Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

  • 1.  Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Mon January 25, 2021 09:49 AM

    Can anyone please point me in right the direction to find migration guides for these two products ie. Pitfalls, recommendations and best practices. Do the customers have to re-compile all their programs noting that the source is not available for some programs. As bau development proceeds and new programs get written, point to the latest compiler and leave old code as is? When doing maintenance compiles use the latest compiler but leave the rest of the suite on old code seeing that it is already object code?

    Kind Regards
    Andre Van Wyk
    TSSA
    Mainframe Architect
    Avanti Towers South Block, 35 Carl Cronje Drive, Bellville, 7530
    +27(21)974-3070
     (Phone) 
     
    +27(82)570-4394
     (Mobile)
     
    +27(86)639-0040
     (Fax)
     
    E‑mail: 
    Andre.VanWyk@t-systems.co.za
    Registration Number: 1989/007547/07
     


    Disclaimer: This message and/or attachment(s) may contain privileged, confidential and/or personal information. If you are not the intended recipient you may not disclose or distribute any of the information contained within this message. In such case you must destroy this message and inform the sender of the error. T-Systems does not accept liability for any errors, omissions, information and viruses contained in the transmission of this message. Any opinions, conclusions and other information contained within this message not related to T-Systems' official business is deemed to be that of the individual only and is not endorsed by T-Systems.


  • 2.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Mon January 25, 2021 09:58 AM
    Re COBOL migration, there is a lot of content "out there" ... take a look at the Migration Portal: https://www.ibm.com/support/knowledgecenter/SS6SG3/migration-portal.html

    You'll see there's a webinar series, migration guide, and even an interactive step-by-step Assistant.  They're all linked off of the page above.

    ------------------------------
    Matthew Cousens
    ------------------------------



  • 3.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Thu January 28, 2021 01:22 AM
    The Enterprise PL/I compiler also has a migration guide. You can find that in its documentation library.


    ------------------------------
    Linda Chui
    Enterprise Products & Compilers
    IBM Canada
    ------------------------------



  • 4.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    IBM Champion
    Posted Fri January 29, 2021 01:17 AM
    I just did this for a whole bunch of COBOL at my firm and hit only two "problems". First one was a nasty little problem with varying length FD blocks that worked fine in COBOL 4.2 but died a death in 6! Here's a code snippet of what we had:
    FD CAMSDATA
           RECORD IS VARYING IN SIZE FROM 8 TO 121 CHARACTERS
              DEPENDING ON REC-LEN
           RECORDING MODE IS V
           BLOCK CONTAINS 0 RECORDS
           LABEL RECORDS ARE OMITTED.
    01 CAMSDATA-BUFFER                  PIC X(121).               


    At compile it got a IGYPG3178-I message and at run time failed...
    The only required change was to add the low size 01 level:
    01 CAMSDATA-BUFFER-SHORT            PIC X(008).

    Then the compile and the run was all ok. The other problem was loads of code unreachable messages due the compiler inlining code all over the place. We had the bad luck that a message routine was inlined that also contained flag checks that the compiler knew at run time could not be true so then issued  tons of IGYCB7200-W messages. I used the >>INLINE OFF and >>INLINE ON to get around these.



    ------------------------------
    Roy Boxwell
    ------------------------------



  • 5.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Mon February 01, 2021 12:18 PM
    You may be interested in the VLR (variable length record) compiler option.

    ------------------------------
    Frank Swarbrick
    ------------------------------



  • 6.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    IBM Champion
    Posted Tue February 02, 2021 02:25 AM
    Hi!
     Yep, adding the VLR(COMPAT) would also have worked right up until the day when that option would be forgotten in the compile parameters. I viewed it as better to change the source code to be actually correct from now until I retire...

    ------------------------------
    Roy Boxwell
    ------------------------------



  • 7.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Wed January 27, 2021 09:05 AM

    TL;DR =  best practice keep up to date on your compilers, regression test using https://livesend.ibm.com/i/E2yqUJ8z57ngvW87kpswBSqcbeh9SGIus3Qw6ArtNxlj3PLUSSIGNUJ7v6ds2q7s___etsFjonP9V2e0Y2lSZNoW19TUY7RcfBzUxn0h___ydPLUSSIGN4HEzE2W8EQUALSIGN

    Long answer:

    Best practice when I was developing on the mainframe was always the latest compiler, whenever we upgraded the compiler there was a project to bring everything up to the latest version and regression test using the standard regression suites we had built. Similar for versions of any software really, always be no older than N-1.

    However this would be very difficult today, since the regression tests often no longer exist or were not maintained, we can use WAZI to mitigate this but it does require some effort.



    ------------------------------
    Julian Smallman
    ------------------------------



  • 8.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Thu January 28, 2021 05:09 PM

    Hello Andre,

    you can find Migration Guides in the IBM Knowledge Center:

    PL/I: https://www.ibm.com/support/knowledgecenter/en/SSY2V3_5.3.0/com.ibm.ent.pl1.zos.doc/welcome.html

    COBOL: https://www.ibm.com/support/knowledgecenter/en/SS6SG3_6.2.0/welcome.html

    And by-the-way. Current COBOL Version is 6.3 to which you should probably migrate to.

    As  Matthew posted already there is a Migration Portal for COBOL which is quite helpful. 

    For COBOL a recompile off all applications is NOT required. (In case you here something different: there was a misunderstanding about this some years ago when COBOL V5 came out) .

    The biggest migration effort should usually be testing. Most problems after migration are caused by bad programming  (e.g. using uninitialized storage, etc. ..). Because such problems come up during runtime only testing is a key topic for the migration. That may be different for very old COBOL applications But this is described very detailed in the migration guide. 

    For PL/I i would guess it is the same, but i am not really in expert for this.

        



    ------------------------------
    Hans Emrich
    ------------------------------



  • 9.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Tue February 02, 2021 06:43 AM
    Thanks Hans, in response to your statement "For COBOL a recompile off all applications is NOT required", do you mean only new programs and programs requiring maintenance need to be recompiled? Or can you explain in more detail please?

    ------------------------------
    Andre van Wyk
    ------------------------------



  • 10.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Tue February 02, 2021 06:58 AM
    Thanks everyone for posting a response. I have a number of customers that need to migrate to Cobol v6 and one to PL/I v5. I'm presenting to a large bunch of developers tomorrow and propose the following framework for Cobol, similar for PL/I:
    • Establish a project and identify the team that will do the migration
    • Read through all the tips, migration and supplementary documentation. Attend any webinars if they are available
    • At the same time install the Cobol v6 compiler
    • Create new Cobol load libraries. Note that the old libraries are in PDS format and the new libraries are ins PDSE format. This is a significant change.
    • Set up JCL so that the compiled code is put into the new libraries
    • Start by compiling all the source. Note the following:
      • This is a major compiler change from IBM. Some programs from previous versions that are in the current libraries may never have been re-compiled are still the original programs. These programs may have errors that have been masked and are now surfacing that have to be addressed.
      • Cobol v6 handles invalid code and data differently than in Cobol 4. So there may have to be changes made to the source code.
      • Some copybooks or source code may be missing. There will have to be a re-evaluation of the programs to determine if they are still necessary for the business and if so a re-write may be required.
    • For CICS programs, put all the compiled code in a unique library for easy identification (for example LOADLIBC for CICS and LOADLIBB for batch). Set up or use an existing CICS region to point to these libraries and do the testing
    • Similar steps for batch
    • Do thorough testing
    • Once all has been done move to production


    ------------------------------
    Andre van Wyk
    ------------------------------



  • 11.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Mon February 08, 2021 10:11 AM
      |   view attached
    Hi Andre,
    Sorry that this is after your class, but I think the other posters have included the most important information for you. Here are a few additional considerations for anyone following this post.

    1. To save CPU time, you should definitely use the ARCH options and be sure to use the lowest level machine, including D/R, where the program will be running. Online COBOL (CICS/IMS) will usually not provide significant savings, and may actually cost you CPU time.

    2. Consider ABO for situations where you've lost the source. Initially the cost was prohibitive, but IBM has changed the pricing method and could now be a good option for some sites. IBM says you don't need to test as well, but you can't convince me.

    3. If an old COBOL program hasn't been used in many years, then take a chance on not upgrading it. When/if you need to update it, do the migration at that point in time. Remember that's it's only the compiler that is going out of service. All of the LE routines will remain current.

    4. Follow Tom Ross' recommendations earlier in this thread. He is THE SOURCE.

    5. I've uploaded a 13-page article on COBOL Compiler Tips from our Cheryl Watson's Tuning Letter 2018 No. 4 that might be helpful.

    Best regards,
    Cheryl

    ------------------------------
    Cheryl Watson
    Watson & Walker, Inc., CEO
    cheryl@watsonwalker.com
    www.watsonwalker.com
    Sarasota, FL USA
    ------------------------------

    Attachment(s)

    PDF
    2018-04-009.PDF   597 KB 1 version


  • 12.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Mon February 15, 2021 05:54 AM
    Thanks Cheryl and to all the other respondents. We do receive your tuning letter and they are a delight to read, very informative. I missed the article on Cobol migration to V6 and having read through it has helped a lot. Very useful. We had done a conversion in 2017 first to Cobol V5 and halfway through the project changed to V6 at one of our customers. They are now in the process of upgrading to V6.3. The withdrawal of support for Cobol V4 has motivated all my other customers to migrate to V6.
    I gave a presentation to a large Life Assurance company who has both Enterprise PL/I and Cobol v4 installed. 90% of their code is written in PL/I and the remaining code either Assembler or Cobol. And then to make matters worse the Cobol code is generated through a Code Generator. With huge projects on developing new systems there is little capacity to do migrations. Fortunately there are no Cobol II and OS/VS code anymore. All code was converted to Cobol 4 some years ago. Same applies to PL/I. All code was re-compiled to PL/I v4.3. So the burning question is, do we have to re-compile all programs? Or can we have a mix of both versions? Is it at all possible? Reading Hans Emrichs' post it seems it is possible. Can someone confirm for both PL/I and Cobol?

    ------------------------------
    Andre van Wyk
    ------------------------------



  • 13.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Mon February 15, 2021 01:17 PM
    Q: So the burning question is, do we have to re-compile all programs? Or can we have a mix of both versions? Is it at all possible? Reading Hans Emrichs' post it seems it is possible. Can someone confirm for both PL/I and COBOL?
    A: You do not have to recompile all programs.  IBM supports mixing different levels of compiled code in the same applications, so you can recompile 1 or many programs, your choice.  Programs compiled with out of service compilers are still supported at run time since they do not use the compiler at run time. At run time the only COBOL or PL/I product code that you are using is in Language Environment, which is part of the operating system, z/OS.  So, if your z/OS is in service, then your old programs are supported in production by IBM service!

    ------------------------------
    Tom Ross
    ------------------------------



  • 14.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Mon February 01, 2021 01:35 PM
    Hello Andre,

    Taking an incremental approach to the upgrade can work, especially if you have lots of maintenance and enhancements ongoing,  but you may want to do some investigation first to ensure no major holes. For example,  OSVS COBOL and VS COBOL II NORES programs won't work with COBOL V6. If you have any such programs in your suite, then you may want to address them up front. Another potential exposure may be in the area of OS upgrades that involve a new version of the Language Environment. Because the OSVS and VS II compilers have been out of support for a very long time, it is not inconceivable that a VS COBOL II RES program could stop working or start giving different results.  Upgrading any OSVS COBOL and VS COBOL II programs to V6 may be a good preparatory step in support of your incremental approach.

    Bonnie Castello

    ------------------------------
    Bonnie Castello
    ------------------------------



  • 15.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Fri February 05, 2021 12:10 PM
    Andre.
      IBM recomnends a 2-compile and 2-test process for migrating to COBOL V5 and V6 from V4 and earlier.  The generated code can be quite different and give different results.  Missing source can be handled by contacting Source Recovery Company (https://www.source-recovery.com/)  but migrating from 2nd gen COBOL to 3rd gen COBOL can be tricky, so we have COBOL Migration Workshops to help with the recommended 2-compile
    and 2-test process.  Let me know if I can give a workshop to your client!

    ------------------------------
    Tom Ross
    ------------------------------



  • 16.  RE: Migrate Enterprise PL/I v4.3 to v5.3 and Cobol v4.2 to v6.2

    Posted Mon February 08, 2021 10:11 AM
    Edited by Sean Kendle Mon February 08, 2021 11:36 AM
    My colleague just pointed out to me that a better place to post COBOL queries might be in the dedicated COBOL Community here - https://community.ibm.com/community/user/ibmz-and-linuxone/groups/topic-home?CommunityKey=dc94cb0f-7361-47d9-854f-dfcbdbbf04a3.

    These Communities aren't very active yet, but I hope their use will increase.

    Cheryl

    ------------------------------
    Cheryl Watson
    Watson & Walker, Inc., CEO
    cheryl@watsonwalker.com
    www.watsonwalker.com
    Sarasota, FL USA
    ------------------------------