A customer using 2E 8.7 Cumulative PTF A experiences the above-mentioned error when testing a 2E application on a Windows 10 PC using the new IBM Access Client Solutions (version 126.96.36.199, Build ID 9170).
The error occurs when pressing F10 in order to invoke the Action Bar. You do not even have to program an option (for example an SFLOPT for a DSPFIL), just have to press F10 to get the error.
The error can be easily reproduced. Just create a simple function (e.g. a DSPLFIL) and make it use the Action Bar header. Just gen and build, then run. Press F10 to invoke the Action Bar to see the error.
2E 8.7 Cumulative PTF A
The cause is something to do with the low-level user-defined data stream being used in the programs associated with the Action bar.
During discussions with IBM, could see that the program + new emulator combination is facing issues with translating the low-level user-defined data stream. However, to be able to get to it, we have to make changes to some C code in the corresponding call stack. This code was written way back in V2R3 around 26 years ago and has not been touched since then. The code changes have to be done to match the new compiler standards as those have changed over time. These code changes are necessary for us to reach the stage of low-level user stream debug.
The problem here is that making such changes could potentially destabilize the area as it is in a tricky place. Given the nature of risk, these changes cannot be done presently and work with IBM as part of the release.
Until then, there are three (3) workarounds:
1. Use the earlier Client Access emulator, as that does have any issue when working with action bars
2. If it is mandatory to use the new emulator, then the *CUAENTRY panel design type can be used for the functions (instead of *CUATEXT). Please note that the default design standard for CA 2E design models on the IBMi is *CUAENTRY.
3. If it is desired to use the *CUATEXT panel design type only, then instead of using an Action Bar, use DDS Menu Bars. In limited testing, could see that this works fine with the new emulator as well. This can be set by setting model value YSAAFMT to *CUATEXT and model value YABRNPT to *DDSMNU. In the EDIT FUNCTION OPTIONS screen of a function, set the "If action bar, what type?" option to "M" or "D". When we run the function upon subsequent generation and compilation, the drop-down list is being displayed in the action bar at top of the screen, when we press F10.