DSF Error MSS / MetaCOBOL+ DLBA241F - Increase NSTLVL Parameter in DDSRTLM
search cancel

DSF Error MSS / MetaCOBOL+ DLBA241F - Increase NSTLVL Parameter in DDSRTLM

book

Article ID: 23076

calendar_today

Updated On:

Products

Datacom Datacom/AD Datacom/DB

Issue/Introduction

Datacom System Facility (DSF) executions fail with one of the following symptoms:

  • MetaCOBOL+ compiles terminate with message DLBA241F - DATADICTIONARY FATAL ERROR MSS.
  • Standard COBOL programs utilizing DSF commands terminate with Abend U4038 in module DSFRM7, showing a command: GETRELAT and a Return Code: MSS.

Cause

The Return Code MSS (Max Sub-String) indicates a configuration limit within the Datadictionary System Resource Table (DDSYSTBL).

The error is triggered when a DSF request exceeds the maximum number of secondary sets or nesting levels allowed by the NSTLVL parameter in the System Resource Table load module, DDSRTLM.

In standard COBOL applications, this occurs when complex database relationships are traversed via the GETRELAT command. In MetaCOBOL+ environments, the compilation process requires a higher nesting level than the default value of 2 to resolve program structures. After a product upgrade or an increase in data relationship complexity, the existing NSTLVL setting may become insufficient.

Resolution

To resolve the MSS error, the NSTLVL parameter must be increased, and the System Resource Table must be reassembled.

  1. Identify the source member DDSYSTBL in the Datadictionary (DD) source library.
  2. Locate the NSTLVL parameter within the macro definition.
  3. Update the parameter to the required value:  NSTLVL=9
  4. Note: MetaCOBOL+ requires a minimum value of 9. This value is also recommended for standard COBOL applications using complex DSF relationships.
  5. Execute a dynamic assembly and link-edit of the DDSYSTBL member to create a new load module named DDSRTLM.

Ensure the updated DDSRTLM load module is available in the STEPLIB or JOBLIB of the desired job. Once the assembly is complete, rerun the application job; no further refresh is needed.

Additional Information

Official Message Documentation:

DLBA241F - DATADICTIONARY FATAL ERROR MSS

  • Message Text: You have exceeded the maximum number of secondary sets allowed by the System Resource Table NSTLVL= parameter.
  • User Action: Increase the value of the NSTLVL= parameter in the System Resource Table.

- - - - -

DSF Return Code: MSS

MAX SUB-STRING

  • Reason: You have exceeded the maximum number of secondary sets allowed by the System Resource Table NSTLVL= parameter.
  • Action: Increase the value of the NSTLVL= parameter in the System Resource Table.