The Secondary Build Execution Monitor

The Secondary Build Execution Monitor (SBEM) is an MVS only generalized batch execution utility. The SBEM reads and executes JCL-like syntax. It also processes comments of the form //*SBEM to control monitoring and error returns. You can run the SBEM in a JCL stream of its own using the MDHBSBM0 template, or from the USS command line. Running the SBEM from USS is useful when you want to execute JCL synchronously, for example, to populate a build area.

The current implementation of the SBEM is suitable for builds. The SBEM parses the whole JCL stream before initiating any work. It then executes the stream step by step, wrapping each executed program with calls to the SVC monitoring facility. At the end point(s) it replies to the PBEM with a task status.

There is no limit to the number of statements that you can code.

For details about using SBEM directives in build templates see the chapter Build Templates for MVS Platforms in the Developer’s Reference.

SBEM Parameters


Default value


-a <address>


Specifies the address (TCP/IP or DNS name) of the PBEM.

-b <project name>


Specifies the name of the build project.



ABENDs if allocation fails.



ABENDs in result processing.

-g "pattern string"


Overrides the temporary file name pattern string, and the default, specified by the build option DM_MVS_SBEM_TEMPNAME. See DM_MVS_SBEM_TEMPNAME.

-I <filespec>


Specifies the location of the input file. Use $ for stdin.



This run is to fail if not APF authorized.






Traces message processing.



Returns information messages to the server.

-o <filespec>


Specifies where to deliver standard output. Use $ for stdout.

-p <port number>


Specifies the port for the PBEM connection.



If processing fails, returns a non-zero return code.



Traces storage.

-t <filespec>


Specifies where to direct trace outputs.

-v <SVC number>


Specifies the number to use for the Watcher SVC.

-w <instream file mask>


Specifies a library to be used for instream data streams. This specification can include ’%d’ to identify the actual member to use. The SBEM generates a different name for each instream member.


If you are using the SBEM from USS, the work data set must be of the form:

-w "’//<data set name>(S%05d)’"

where <data set name> is either a pre-existent data set or is allocated by the SBEM prior to its first use.

-y <n>


Specifies the allocation number after which the SBEM fails (the allocator returns NULL).

-z n


Specifies the deallocation number after which the SBEM fails.