IBMBPIR*

IBMBPIR is the PL/I Library subroutine that handles program initialization and termination. IBMBPIR issues a GETMAIN macro to obtain storage for an initial work area and then loads and executes the user program. After the user program has executed, a FREEMAIN macro is issued to free the initial work area and return back to the caller.

Hints

If IBMBPIR1 appears on the Attribution of CPU Wait Time report as being invoked by SVC 018 (BLDL/FIND), it may be because every time this module gets called, the PL/I environment is created.

When PL/I user programs are called from either a COBOL or FORTRAN main user program, IBMBPIR1 is seen calling SVC 018. The PL/I environment would be flushed every time the PL/I subprogram finishes executing.

You can eliminates this by making a call to a "DUMMY" PL/I module in the main user program, making the PL/I environment resident as well as the other third generation language environment.

The "DUMMY" PL/I source code for COBOL is:

INITPLI: PROC OPTIONS(COBOL); END INITPLI;

This module should be called from the main COBOL mainline module and compiled and linked to the COBOL user program.

Reference Sources

OS PL/I Programming Guide, Version 2 Release 3, SC26-4307.

OS PL/I Resident Library: Program Logic, LY33-6008.