THE DAILY DIGEST

The daily edition.

Essential reading from Rocket Enterprise. Straight to the source.

Archived edition
DAILY EDITION1 story· 3 min read
IN FOCUS

BMS TYPE Controls Whether You Build a Map, a DSECT, or Both

In Enterprise Developer 12.0 on Windows, BMS TYPE=MAP creates the runtime load module, TYPE=DSECT creates program data definitions, and TYPE=&&SYSPARM delegates artifact selection to build settings. Conflicting source and build choices trigger BMSCM1013W. [1] [2] [4]

Read the full briefing

BMS TYPE Decides Whether the Build Produces Runtime Code, Program Data, or Both

Scope: Rocket Enterprise Developer 12.0 for Eclipse on Windows, BMS Painter and BMS compilation.

A BMS mapset has two different consumers. The CICS runtime needs a load module containing screen-handling code, while the application program needs data definitions that match the screen fields. Rocket’s build separates those artifacts: TYPE=MAP generates the load-module mapset (.mod, also called a CSECT), and TYPE=DSECT generates a copybook. Generating Output from the BMS Painter also notes that Enterprise Developer maintains a .bmsx file alongside the load modules to track generated files and locations.

The useful design choice is where output selection lives. A literal TYPE=MAP or TYPE=DSECT in the DFHMSD macro fixes the artifact choice in the mapset source. By contrast, TYPE=&&SYSPARM delegates that choice to the BMS file’s build settings. The SYSPARM directive accepts MAP, DSECT, or both. Without SYSPARM, no files are generated unless the source already contains a TYPE= setting.

That makes TYPE=&&SYSPARM valuable when the same source should support different build targets. In the BMS file properties, select:

  • Map to generate the runtime load module.
  • DSECT to generate the program-facing data definitions.
  • Both when a normal application build needs the complete pair.

The generated language is controlled separately by the LANG operand: COBOL produces a .cpy copybook and ASM produces a .mac copybook. The load module goes to the project’s loadlib folder; the copybook goes to copylib. Rocket explicitly states that C DSECT/include generation is not supported. The complete workflow and locations are documented in Copybooks and Load Modules.

There is a practical precedence trap. If the source says TYPE=DSECT but the build settings request a map, Rocket emits BMSCM1013W: the source and requested SYSPARM do not match. The documented resolution is to correct the source or the build settings; if build settings are meant to control output, change the macro to TYPE=&&SYSPARM.

Finally, Enterprise Developer cannot compile the BMS file while it remains open in BMS Painter. Save it, close it in the painter, and then compile it.

Takeaway: Use TYPE=&&SYSPARM when build configuration should generate MAP, DSECT, or both; reserve literal TYPE= values for source-controlled output and keep source and build settings aligned.

Rocket Enterprise Developer 12.0 for Eclipse (Windows); BMS Painter
Documentation references
That’s the briefing.You’ve reached the end of this edition.
More editions

From the archive

View all
Nov 2

MLDAP ESM Caching: Two Parameters Turn It On, Rule-Set Caching Needs an Explicit Opt-In, and Updates Flush It

Nov 2

DBFH Recovery Is an Inspection-First Operation

Nov 2

Enterprise Server Dumps: A/B Datasets, and casdump /d for a Region That Will Not Respond