Topic
5 replies Latest Post - ‏2013-05-09T12:31:33Z by lzrycki
lzrycki
lzrycki
29 Posts
ACCEPTED ANSWER

Pinned topic TX Series- Wrong behaivoir of CEMT S PROG NEWCOPY

‏2013-05-02T22:46:54Z |

Hi People,

 

I don't know if Café Cobol forum is the right forum for mi question, but I didn't found a TX Series forum to address it.

Recently we upgrade TX Series from version 6.3 to 7.1;  when we change any computer program used in TX Series  we must execute the CEMT S PROG(xxx) NEWCOPY; this TX Series command is exactly the same that we use in CICS.

The CEMT S PROG(xxx)  NEWCOPY command has a strange and wrong behavior . The execution message of the command  is OK but when we execute the transaction we see that the program is not updated and the oldest version remains executing.

20 or 30 minutes later, the new copy of the program is taken and the latest version of the program is executed.; consequently, developers must wait 20or 30 minutes to test the changes made to their programs.

Could someone tell me why this command has a delay?  

Thanks in advance

Regards

  • outlaw
    outlaw
    39 Posts
    ACCEPTED ANSWER

    Re: TX Series- Wrong behaivoir of CEMT S PROG NEWCOPY

    ‏2013-05-07T22:30:13Z  in response to lzrycki

    There are several things conspiring against you here:

    1) AIX loader caching (`man genkld', `man slibclean') -- allows sharing and reduces disk I/O for commonly used routines

    2) COBOL module caching -- similar to the AIX caching, but geared towards speeding up transaction initiation

    3) TXSeries'  multiple application servers, meaning one server could have the old module in use during the NEWCOPY, and thus there'd be a delay before the NEWCOPY seemed to take effect

     

    Now, if you only changed the level of TXSeries, not also AIX and COBOL, that would tend to implicate a TXSeries change.  There is room for improvement in the way TXSeries and COBOL cooperate on program management, but nothing that I can recall has changed recently.

    • lzrycki
      lzrycki
      29 Posts
      ACCEPTED ANSWER

      Re: TX Series- Wrong behaivoir of CEMT S PROG NEWCOPY

      ‏2013-05-08T00:56:24Z  in response to outlaw

      Hi Outlaw

      it was a big upgrade, AIX , COBOL 2 ->4 , TX Series 6 -> 7.

      1. and 2. could be, but I think that 3. is not possible. Do you think it is possible to have a corrective action ?

      I try to use CECI to force the new copy trough LOAD PROGRAM , but CECI / TX Series response was NOTAUTH using CICSUSER.

      My experience is mainframe and CICS. and I dont know how to deal with this issue.

      Thanks

      Regards

      Leonardo

       

       

      • outlaw
        outlaw
        39 Posts
        ACCEPTED ANSWER

        Re: TX Series- Wrong behaivoir of CEMT S PROG NEWCOPY

        ‏2013-05-08T14:38:06Z  in response to lzrycki

        Ah yes, I now recognize your name - and parts of the story ;)

        #2 (COBOL caching) is was introduced in 3.1, and could be the culprit here; especially since there isn't, yet, any notification from TXSeries to COBOL when a NEWCOPY is done.

        To see if this is, in fact, what is causing the program, add this to your TXSeries region's environment file and restart the region:

        export   COB_CPM_SIZE_MAX=0

        This will prevent COBOL from caching transaction programs, but will also reduce the transactions per second of the region - always a trade-off there is.

        If this does solve your problem, you'd ideally want to raise a requirement on TXSeries and COBOL to better handle NEWCOPY (I don't know if one would be accepted, but hey, it can't hurt to try)

        I don't know enough about z or p CICS/TXSeries/WXTR to have any ideas about CECI and alternatives

        • lzrycki
          lzrycki
          29 Posts
          ACCEPTED ANSWER

          Re: TX Series- Wrong behaivoir of CEMT S PROG NEWCOPY

          ‏2013-05-08T22:01:39Z  in response to outlaw

          Outlaw,

           

          thanks; tomorrow I'll try asking about the value  COB_CPM_SIZE_MAX; the environment is development , adding some time to each transaction is not a problem.

          Thanks for your answer

          Leonardo

           

        • lzrycki
          lzrycki
          29 Posts
          ACCEPTED ANSWER

          Re: TX Series- Wrong behaivoir of CEMT S PROG NEWCOPY

          ‏2013-05-09T12:31:33Z  in response to outlaw

          Hi Outlaw,

          using COB_CPM_SIZE_MAX as a key I found in IBM COBOL for AIX manual this information that help me to solve the issue.

          Thanks

          Leonardo

           

          You can disable module caching by adding the following CICS region variable to the CICS region environment file:

          COB_CPM_SIZE_MAX=0  (
          your recommendation)

          When you have completed your code review and made any required changes, remove the COB_CPM_SIZE_MAX region variable from the CICS region environment file and restart the CICS region to re-enable module caching.

          To test your applications, you can enable and disable module caching dynamically without using the CICS region environment file. Instead you can create transactions that call
          IWZ_CPM_DISABLEto disable module caching and IWZ_CPM_ENABLEto enable module caching.

          The
          CICS NEWCOPYcommandis not supportedfor applications written in IBM COBOL for AIX using TXSeries. To get a fresh copy of a cached module, either:

          ·         Create a transaction that calls "IWZ_CPM_UNLOAD_ALL", to unload all cached modules, or

          ·         Create a transaction that calls "IWZ_CPM_UNLOAD" USING BY REFERENCE z"<program name>", to unload only a specified module.

          ·