I'm evaluating Micro Focus Enterprise Developer to determine if it can be used for developing our IMS application.

Over the years, we've spent vast amounts of effort on performance improvement. A key component is caching: we run as a Reusable Runtime Environment, so once a program is loaded, it stays loaded along with all of its memory. This enables us to trade higher one-time processing for much lower processing on subsequent transactions.

From what I can see, the closest MFED ES can come to this is ES_IMS_CANCEL_MODE=D (or L, if we remove all of our DLITCBL entry points).

But when I try ES_IMS_CANCEL_MODE=D, it doesn't work. I executed the same transaction twice in a row in the same message region, and on the second time all of the program's working storage was reset back to the initial state.

Is there a trick to getting ES_IMS_CANCEL_MODE=D to work?

I'm wondering if it is just keeping the program DLLs loaded but still freeing all of the working storage.

  • Suggested Answer


    Hi Michael,

    Do you want to use a logical or physical cancel? From your description I believe logical cancel to reuse/cache modules and aid performance.

    See documentation page:

    ES_IMS_CANCEL_MODE=D - Performs a deferred cancel, which will yield the same behavior as a logical cancel when the MPR services the same MPP back-to-back. It will behave as P (physical cancel) when the transaction changes.

    As I believe you are looking for a logical cancel would using ES_IMS_CANCEL_MODE=L  be appropriate, the above documentation page explains: Performs a logical cancel. This gives the best performance of the options, but can only be used it there is only one DLITCBL entry point in an MPR.

  • 0   in reply to KimH

    I would want Logical but that would require massive changes to remove DLITCBL entry points, so I'm first testing with Deferred.

    I think the problem is that the memory management releases allocated memory for a physical or logical cancel, so this isn't helping. I can't find any way to set up a resuable runtime environment.

  • Suggested Answer

    0   in reply to Michael Schmitt

    Hi Michael, if you require any additional assistance I recommend you to consider raising a support case, where my colleagues can provide more dedicated assistance, research further and provide other alternatives that may be available.