BMS macro generation utility program (DFHBMSUP)
The BMS macro generation utility, DFHBMSUP, can re-create the original BMS macro statements from a mapset load module when the macro statements that were assembled to produce the mapset load module are no longer available.
The utility program generates map definition macros that are equivalent to the originals, and thus can be used to recreate symbolic maps if the original source has been lost. However, it is not possible to recover the original field names used. Field names are generated by the utility and you can then edit them.
DFHBMSUP sets a return code indicating success or failure. All input information is defined in the JCL.
- Input MAPSET
- Name defined in the PARM field of the EXEC JCL statement.
- Input MAPSET library
- Name defined in the DFHRPL DD statement.
- Output map
- Name defined in the BMSOUT DD statement.
- Output map library
- Name defined in the BMSOUT DD statement.
DD statements for DFHBMSUP
The DD statements for the input and output data sets used by DFHBMSUP are as follows:
- STEPLIB DD
- Defines a partitioned data set (DSORG=PO) containing DFHBMSUP. If DFHBMSUP is in the link list, this statement is not required.
- DFHRPL DD
- Defines a partitioned data set (DSORG=PO) containing the mapset load module to be processed. The member name is supplied in the PARM field of the EXEC statement.
- BMSOUT DD
- Defines a sequential data set or a member of a partitioned data set (DSORG=PO) to contain the BMS macro statements generated by the utility.
Return codes from DFHBMSUP
- 0
- Utility executed successfully.
- 4
- Input mapset could not be located.
- 8
- Output mapset could not be opened.
Example: DD statements required to process a BMS mapset load module
Example: DFHBMSUP output
The following macro statements were generated from the mapset load module, BMSET40.
Note that the utility uses the name of the load module being disassembled as the label on the DFHMSD mapset definition macro, so that you can use it to build HTML template data sets which are accessible to the original 3270 applications. If you specify the suffixed version of the load module for a mapset as input to DFHBMSUP and you intend to use the output source to build HTML for the mapset, you may need to edit the DFHMSD label to remove the suffix.
Also note that DFHBMSUP does not know whether STORAGE=AUTO was defined in the original macro statements, so the DFHBMSUP output does not include STORAGE=AUTO on the DFHMSD mapset definition macro. If you require STORAGE=AUTO, edit the DFHMSD macro to include it.
You can edit all the names in the DFHBMSUP output to be more meaningful for your application.