Previous Topic: How to Use the DumpNext Topic: PL/I Considerations


Error Checking

The table below presents a brief list of typical programming errors and possible solutions.

Problem

Language

Reason and/or action

Unconnected member records are showing up as set members.

All

Be sure to issue an IF MEMBER statement before OBTAIN OWNER in a set with the optional or manual set membership options.

Skipping records in an area sweep.

All

Your processing may have taken you to another database page; be sure to issue a FIND CURRENT record-name before issuing an OBTAIN NEXT WITHIN area-name.

A program performs extra processing in addition to IDMS-STATUS.

COBOL

  • IDMS-STATUS is a COBOL SECTION; be sure to do one of the following:
  • Place IDMS-STATUS at the end of the program.
  • Ensure that the code following IDMS-STATUS is also a SECTION.
  • Always perform IDMS-STATUS THRU ISABEX.

Queue records written to the database are not being kept.

DC-BATCH

Be sure to issue either FINISH TASK or COMMIT TASK, or the queue records will be deleted at the end of the run unit.

Storage violation when initializing acquired storage fields.

DC

When you define acquired storage length by using the THROUGH option, CA IDMS does not acquire storage for the dummy byte. If you initialize fields on the group level, it may include the dummy byte, thus causing a storage violation.

Map displayed with no variables.

DC

Be sure to issue a BIND MAP statement for the map and BIND MAP RECORD statements for all map records.

The same errors occur despite repeated modification and recompilation.

DC

Be sure to issue a DCMT VARY PROGRAM NEW COPY statement following recompilation. Be sure to VARY the correct version of the program.