IBMMainframes.com

Quick References for IBM Mainframe Programming

IDMS ERROR STATUS CODES

 

IDMS status Codes are returned into the ERROR_STATUS fields after a DML request. ERROR_STATUS is a 4 byte zoned decimal field. First two bytes indicates a MAJOR Status Code and the Second two bytes denotes a Minor Error Code. A value of 0000 indicates a successful DML completion.

IDMS MAJOR DB STATUS CODES

00

Any DML statement

01

FINISH

02

ERASE

03

FIND/OBTAIN

05

GET

06

KEEP

07

CONNECT

08

MODIFY

09

READY

11

DISCONNECT

12

STORE

14

BIND

15

ACCEPT

16

IF

17

RETURN

18

COMMIT

19

ROLLBACK

20

LRF REQUESTS

IDMS MINOR DB ERROR CODES

00

Indicates successful completion with major code ‘00’. Combined with non zero major code, it indicates that the DML operation was not completed successfully due to CV causes such as time-out and program checks.

01

AREA has not been readied. When it is combined with major code 16, it means valid false condition.

02

DB-KEY is not within the page range for the specified record name.

04

The occurrence count of a variably occurring element has been specified as either less than zero or greater than the maximum number of occurrences defined in the control element.

05

The specified DML function would have violated a duplicates-not-allowed option for a CALC, sorted, or index set.

06

No currency established for record/set/area

07

End of set/area/index

08

The specified record/set/procedure/LR verb is not in the subschema or the specified record is not a member of the set.

09

The area has been readied with an incorrect usage mode.

10

An existing access restriction or subschema usage prohibits execution of the specified DML function. For LRF users, the subschema in use allows access to database records only. Combined with a major code of 00, this code means the program has attempted to access a database record, but the subschema in use allows access to logical records only.

11

Space not available for storing the record.

12

No DB-KEY for the record to be stored. This is system internal error and should be reported.

13

RUN UNIT Currency not established or nullified by previous ERASE statement.

14

CONNECT failure due to MA definition.

15

DISCONNECT failure due to MA definition.

16

CONNECT failure as it is already a member in the set.

18

Record has not been bound.

20

The current record is not the same type as the specified record name.

21

Not all areas being used have been readied in the correct usage mode.

22

The record name specified is not currently a member of the set name specified.

23

Area is not in subschema or record is not within the area specified.

25

No currency established for the named set.

26

Record/index entry is not found

28

RUN UNIT attempts to ready an area that is already readied.

29

The run unit has attempted to place a lock on a record that is locked already by another run unit. A deadlock results. Unless the run unit issued either a FIND/OBTAIN KEEP EXCLUSIVE or a KEEP EXCLUSIVE, the run unit is aborted.

30

An attempt has been made to erase the owner record of a non empty set.

31

The retrieval statement format conflicts with the record's location mode.

32

An attempt to retrieve a CALC/DUPLICATE record was unsuccessful. The value of CALC field in variable storage is not equal to the value of the CALC control element in the current record of run unit.

33

At least one set in which the record participates has not been included in the subschema.

40

The WHERE clause in an OBTAIN NEXT logical-record request is inconsistent with a previous OBTAIN FIRST or OBTAIN NEXT command for the same record. Previously specified criteria, such as reference to a key field, have been changed. A path status of LR-ERROR is returned to the LRC block.

41

The subschema contains no path that matches the WHERE clause in a logical-record request.

42

An ON clause included in the path by the DBA specified return of the LR-ERROR path status to the LRC block; an error has occurred while processing the LRF request.

43

A program check has been recognized during evaluation of a WHERE clause; the program check indicates that either a WHERE clause has specified comparison of a packed decimal field to an unpacked nonnumeric data field, or data in variable storage or a database record does not conform to its description. A path status of LR-ERROR is returned to the LRC block unless the DBA has included an ON clause to override this action in the path.

44

The WHERE clause in a logical-record request does not supply a key element (sort key, CALC key, or db-key) expected by the path.

45

During evaluation of a WHERE clause, a program check has been recognized because a subscript value is neither greater than 0 nor less than its maximum allowed value plus 1.

46

A program check has revealed an arithmetic exception (for example: overflow, underflow, significance, divide) during evaluation of a WHERE clause.

53

The subschema definition of an indexed set does not match the indexed set's physical structure in the database.

54

Either the prefix length of an SR51 record is less than zero or the data length is less than or equal to zero.

55

An invalid length has been defined for a variable-length record.

56

An insufficient amount of memory to accommodate the CA-IDMS compression/decompression routines is available.

60

A record occurrence type is inconsistent with the set named in the ERROR-SET in the IDMS communications block. This code usually indicates a broken chain.

61

No record can be found for an internal db-key. This code usually indicates a broken chain.

62

A system-generated db-key points to a record occurrence, but no record with that db-key can be found. This code usually indicates broken chain.

63

The DBMS cannot interpret the DML function to be performed. When combined with a major code of 00, this code means invalid function parameters have been passed on the call to the DBMS. For LRF users, a WHERE clause includes a keyword that is longer than the 32 characters allowed.

64

The record cannot be found; the CALC control element has not been defined properly in the subschema.

65

The database page read was not the page requested.

66

The area specified is not available in the requested usage mode.

67

The subschema invoked does not match the subschema object tables.

68

The CICS interface was not started.

69

A BIND RUN-UNIT may not have been issued; the CV may be inactive or not accepting new run units; or the connection with the CV may have been broken due to time out or other factors. When combined with a major code of 00, this code means the program has been disconnected from the DBMS.

70

The database will not ready properly; a JCL error is the probable cause.

71

The page range or page group for the area being readied or the page requested cannot be found in the DMCL.

72

There is insufficient memory to dynamically load a subschema or database procedure.

73

A central version run unit will exceed the MAXERUS value specified at system generation.

74

The dynamic load of a module has failed. If operating under the central version, a subschema or database procedure module either was not found in the data dictionary or the load (core image) library or, if loaded, will exceed the number of subschema and database procedures provided for at system generation.

75

A read error has occurred.

76

A write error has occurred.

77

The run unit has not been bound or has been bound twice. When combined with a major code of 00, this code means either the program is no longer signed on to the subschema or the variable subschema tables have been overwritten.

78

An area wait deadlock has occurred.

79

The run unit has requested more db-key locks than are available to the system.

80

The target node is either not active or has been disabled.

81

The converted subschema requires specified database name to be in the DBNAME table.

82

The subschema must be named in the DBNAME table.

83

An error has occurred in accessing native VSAM data sets.

91

The subschema requires a DBNAME to do the bind run unit.

92

No subschema areas map to DMCL.

93

A subschema area symbolic was not found in DMCL.

94

The specified dbname is neither a dbname defined in the DBNAME table, nor a SEGMENT defined in the DMCL.

95

The specified subschema failed DBTABLE mapping using the specified DBNAME.

Home | Mainframe Wiki | Downloads | Programs | References | Mainframe Forum