Move BCPii API calls into your application instead of in BCPii ENF exits

Description

As stated in various IBM publications, non-SRB ENF exits need to avoid time-consuming processing. Coding an HWIEVENT ENF exit to execute BCPii APIs might result in multiple problems, such as delays with BCPii event notification processing when BCPii services are simultaneously being invoked. As of APAR OA38117 on z/OS V1R11, V1R12, and V1R13, BCPii enforces this restriction, and BCPii API calls made from within a BCPii ENF exit are now rejected with the return code HWI_UNSUPPORTED_ENVIRONMENT.

Table 1 provides more details about this migration action. Use this information to plan your changes to the system.

Table 1. Information about this migration action
Element or feature: BCP.
When change was introduced: z/OS V1R11, V1R12, and V1R13 with APAR OA38117.
Applies to migration from: z/OS V1R13 without the PTF for APAR OA38117 applied.
Timing: Before installing z/OS V2R2.
Is the migration action required? Yes, if you have coded a BCPii API call from your ENF exit.
Target system hardware requirements: None.
Target system software requirements: None.
Other system (coexistence or fallback) requirements: None.
Restrictions: None.
System impacts: BCPii API calls made from within a BCPii ENF exit are now rejected with return code HWI_UNSUPPORTED_ENVIRONMENT.
Related IBM Health Checker for z/OS check: None.

Steps to take

If you have coded a BCPii API call from your ENF exit, move the BCPii API call into your application and have the BCPii ENF exit post the application when the event occurs. Your application program may now issue the BCPii API call from the user's thread.

For an example of how to code a BCPii ENF exit, see the sample ENF event exit HWIXMCX1 in SYS1.SAMPLIB.

Note: The sample ENF event exit HWIXMCX1 was corrected by APAR OA43767 for z/OS V2R1 and V1R13.

Reference information

For more information, see z/OS MVS Programming: Callable Services for High-Level Languages.