This appendix contains the call formats used by CA IDMS to execute DML commands. Each DML function can be coded using standard CALL statements.
The two tables in this appendix present the function codes and arguments that are passed to CA IDMS for execution of a DML command. Argument 0, which contains SUBSCHEMA-CTRL (the IDMS communications block), is passed for all functions.
The following example shows the expanded CA IDMS call format for a BIND RECORD statement (BIND EMPLOYEE):
CALL 'IDMS' USING SUBSCHEMA-CTRL IDBMSCOM (48) SR415 EMPLOYEE.
The call expansions are presented in two tables; the first table lists the DB expansions and the second table lists the DC expansions.
This section contains the following topics:
Major Function Code |
Database Service(in COBOL DML) |
(1) IDBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
14 |
BIND RUN- UNIT |
59 |
IDMS Communications Block* |
subschema-name* |
|
|
|
BIND RUN-UNIT FOR subschema- name |
59 |
IDMS Communications Block* |
subschema-name |
|
|
|
BIND RUN-UNIT NODENAME node-name |
59 |
IDMS Communications Block* |
subschema-name* |
subschema-ctrl* OR subschema-lr-ctrl* |
node-name |
|
BIND RUN-UNIT FOR subschema-name NODENAME node-name |
59 |
IDMS Communications Block* |
subschema-name |
subschema-ctrl* OR subschema-lr-ctrl* |
node-name |
|
BIND RUN-UNIT FOR subschema-name DBNAME database-name |
59 |
IDMS Communications Block* |
subschema-name |
subschema-ctrl* OR subschema-lr-ctrl* |
node-name |
|
BIND RUN-UNIT NODENAME node-name DBNAME database-name |
59 |
IDMS Communications Block* |
subschema-name* |
subschema-ctrl* OR subschema-lr-ctrl* |
node-name |
|
BIND RUN-UNIT FOR subschema-name NODENAME node-name DBNAME database-name |
59 |
IDMS Communications Block* |
subschema-name |
subschema-ctrl* OR subschema-lr-ctrl* |
node-name |
|
BIND record-name |
48 |
record-id |
record-location* |
|
|
|
BIND record-name TO record-name |
48 |
record-id |
record-location |
|
|
|
BIND record-location WITH record-name |
48 |
record-id |
record-location |
|
|
|
BIND PROCEDURE FOR procedure-name TO procedure- control-location |
73 |
procedure-name |
procedure-control- location |
|
|
09 |
READY |
37 |
|
|
|
|
|
READY area-name |
37 |
area-name |
|
|
|
|
READY area-name USAGE-MODE IS RETRIEVAL |
37 |
area-name |
|
|
|
|
READY area-name USAGE-MODE IS PROTECTED RETRIEVAL |
39 |
area-name |
|
|
|
|
READY area-name USAGE-MODE IS EXCLUSIVE RETRIEVAL |
40 |
area-name |
|
|
|
|
READY area-name USAGE-MODE IS UPDATE |
36 |
area-name |
|
|
|
|
READY area-name USAGE-MODE IS PROTECTED UPDATE |
38 |
area-name |
|
|
|
|
READY area-name USAGE-MODE IS EXCLUSIVE UPDATE |
41 |
area-name |
|
|
|
|
READY USAGE-MODE IS ... **Choose function code from 36-41 as shown above. |
** |
|
|
|
|
01 |
FINISH |
02 |
|
|
|
|
|
FINISH TASK |
113 |
|
|
|
|
18 |
COMMIT |
66 |
|
|
|
|
|
COMMIT ALL |
95 |
|
|
|
|
|
COMMIT TASK |
114 |
|
|
|
|
|
COMMIT TASK ALL |
115 |
|
|
|
|
19 |
ROLLBACK |
67 |
|
|
|
|
|
ROLLBACK ALL |
96 |
|
|
|
|
|
ROLLBACK TASK |
116 |
|
|
|
|
|
ROLLBACK TASK CONTINUE |
117 |
|
|
|
|
06 |
KEEP CURRENT |
87 |
|
|
|
|
|
KEEP EXCLUSIVE CURRENT |
90 |
|
|
|
|
|
KEEP CURRENT record-name |
89 |
record-name |
|
|
|
|
KEEP EXCLUSIVE CURRENT record-name |
90 |
record-name |
|
|
|
|
KEEP CURRENT WITHIN set-name |
91 |
set-name |
|
|
|
|
KEEP EXCLUSIVE CURRENT WITHIN set-name |
92 |
set-name |
|
|
|
|
KEEP CURRENT WITHIN area-name |
93 |
area-name |
|
|
|
|
KEEP EXCLUSIVE CURRENT WITHIN area-name |
92 |
area-name |
|
|
|
16 |
IF set-name IS EMPTY ... |
64 |
set-name |
|
|
|
|
IF set-name IS NOT EMPTY... |
65 |
set-name |
|
|
|
(Upon return to user run-unit, the status indicator=' 0000' if set is empty;' 1601' if not empty.) |
||||||
|
IF set-name MEMBER ... |
60 |
set-name |
|
|
|
|
IF NOT set-name MEMBER ... |
62 |
set-name |
|
|
|
(Upon return to user run-unit, the status indicator = ' 0000' if the record(current of run unit) is linked into the specified set; ' 1601' if it is not a member.) |
Major Function Code |
Database Service(in COBOL DML) |
(1) IDBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
12 |
STORE record-name |
42 |
record-name |
|
|
|
07 |
CONNECT record-name TO set-name |
44 |
record-name |
set-name |
|
|
08 |
MODIFY record-name |
35 |
record-name |
|
|
|
11 |
DISCONNECT record-name FROM set-name |
46 |
record-name |
set-name |
|
|
02 |
ERASE record-name ERASE record-name PERMANENT MEMBERS ERASE record-name SELECTIVE MEMBERS ERASE record-name ALL MEMBERS
|
52 03
53
4 |
record-name record-name
record-name
record-name |
|
|
|
Major Function Code |
Database Service(in COBOL DML) |
(1) IDBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
03 |
FIND DB-KEY db-key FIND record-name DB-KEY IS db-key FIND CURRENT FIND CURRENT record-name |
75
06
30 07 |
db-key
record-name
record-name |
db-key |
|
|
|
FIND CURRENT WITHIN set-name |
08 |
set-name |
|
|
|
|
FIND CURRENT WITHIN area-name |
09 |
area-name |
|
|
|
|
FIND NEXT WITHIN set-name |
14 |
set-name |
|
|
|
|
FIND NEXT record-name WITHIN set-name |
10 |
record-name |
set-name |
|
|
|
FIND PRIOR WITHIN set-name |
16 |
set-name |
|
|
|
|
FIND PRIOR record-name WITHIN set-name |
12 |
record-name |
set-name |
|
|
|
FIND FIRST WITHIN set-name |
20 |
set-name |
|
|
|
|
FIND FIRST record-name WITHIN set-name |
18 |
record-name |
set-name |
|
|
|
FIND LAST WITHIN set-name |
24 |
set-name |
|
|
|
|
FIND LAST record-name WITHIN set-name |
22 |
record-name |
set-name |
|
|
|
FIND number WITHIN set-name |
78 |
set-name |
number |
|
|
|
FIND number record-name WITHIN set-name |
76 |
record-name |
set-name |
number |
|
|
FIND NEXT WITHIN area-name |
15 |
area-name |
|
|
|
|
FIND NEXT record-name WITHIN area-name |
11 |
record-name |
area-name |
|
|
|
FIND PRIOR WITHIN area-name |
17 |
area-name |
|
|
|
|
FIND PRIOR record-name WITHIN area-name |
13 |
record-name |
area-name |
|
|
|
FIND FIRST WITHIN area-name |
21 |
area-name |
|
|
|
|
FIND FIRST record-name WITHIN area-name |
19 |
record-name |
area-name |
|
|
|
FIND LAST WITHIN area-name |
25 |
area-name |
|
|
|
|
FIND LAST record-name WITHIN area-name |
23 |
record-name |
area-name |
|
|
|
FIND number WITHIN area-name |
79 |
area-name |
number |
|
|
|
FIND number record-name WITHIN area-name |
77 |
record-name |
area-name |
number |
|
|
FIND OWNER WITHIN set-name |
31 |
set-name |
|
|
|
|
FIND CALC (ANY) record-name |
32 |
record-name |
|
|
|
|
FIND DUPLICATE record-name |
50 |
record-name |
|
|
|
|
FIND record-name WITHIN set-name USING sort-key |
33 |
record-name |
set-name |
sort-key |
|
|
FIND record-name WITHIN set-name CURRENT USING sort-key |
51 |
record-name |
set-name |
sort-key |
|
|
OBTAIN |
|
|
|
|
|
Any of the above FIND record selection expressions. Call generated consists of arguments described above for the FIND in question plus an additional argument of IDBMSCOM (43) function. For example: |
||||||
|
OBTAIN CALC record-name |
32 |
record-name |
IDBMSCOM(43) |
|
|
|
OBTAIN PRIOR record-name WITHIN set-name |
12 |
record-name |
|
|
|
|
KEEP KEEP EXCLUSIVE |
|
|
|
|
|
Any of the above FIND/OBTAIN record selection expressions Call generated consists of arguments described above for the FIND/OBTAIN in question plus one of the following additional IDBMSCOM function: KEEP..............................IDBMSCOM(87) KEEP EXCLUSIVE...........IDBMSCOM(**) For example: |
||||||
|
OBTAIN KEEP CALC record-name |
32 |
record-name |
IDBMSCOM(43) |
IDBMSCOM(87) |
|
|
FIND KEEP EXCLUSIVE CURRENT |
30 |
IDBMSCOM(88) |
|
|
|
05 |
GET |
43 |
index-set-name |
db-key |
symbolic-key |
|
|
GET record-name |
34 |
index-set-name |
db-key |
symbolic-key |
|
17 |
RETURN db-key FROM index-set-name CURRENCY KEY INTO symbolic-key |
81 |
index-set-name |
db-key |
symbolic-key |
|
|
RETURN db-key FROM index-set-name FIRST KEY INTO symbolic-key |
82 |
index-set-name |
db-key |
symbolic-key |
|
|
RETURN db-key FROM index-set-name LAST KEY INTO symbolic-key |
83 |
index-set-name |
db-key |
symbolic-key |
|
|
RETURN db-key FROM index-set-name NEXT KEY INTO symbolic-key |
84 |
index-set-name |
db-key |
symbolic-key |
|
|
RETURN db-key FROM index-set-name PRIOR KEY INTO symbolic-key |
85 |
index-set-name |
db-key |
symbolic-key |
|
|
RETURN db-key FROM index-set-name USING index-key-value KEY INTO symbolic-key |
86 |
index-set-name |
db-key |
index-key-value |
symbolic-key |
Major Function Code |
Database Service(in COBOL DML) |
(1) IDBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
15 |
ACCEPT db-key FROM CURRENCY |
54 |
db-key |
|
|
|
|
ACCEPT db-key FROM record-name CURRENCY |
55 |
record-name |
db-key |
|
|
|
ACCEPT db-key FROM set-name CURRENCY |
57 |
set-name |
db-key |
|
|
|
ACCEPT db-key FROM area-name CURRENCY |
56 |
area-name |
db-key |
|
|
|
ACCEPT db-key FROM set-name NEXT CURRENCY |
68 |
set-name |
db-key |
|
|
|
ACCEPT db-key FROM set-name PRIOR CURRENCY |
69 |
set-name |
db-key |
|
|
|
ACCEPT db-key FROM set-name OWNER CURRENCY |
70 |
set-name |
db-key |
|
|
|
ACCEPT db-statistics FROM IDMS STATISTICS |
71 |
db-statistics |
|
|
|
|
ACCEPT bind-address FROM record-name BIND |
72 |
record-name |
bind-address |
|
|
|
ACCEPT procedure-control-location FROM procedure-name PROCEDURE |
74 |
procedure-name |
procedure-control-location |
|
|
Major Function Code |
Database Service(in COBOL DML) |
(1) IDBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
20 |
OBTAIN FIRST logical-record-name |
99 |
subschema-lr-ctrl* |
logical-record- location* |
|
|
|
OBTAIN FIRST logical-record-name INTO alt-logical-record location |
99 |
subschema-lr-ctrl* |
logical-record- location* |
|
|
|
OBTAIN NEXT logical-record-name |
99 |
subschema-lr-ctrl* |
logical-record- location* |
|
|
|
OBTAIN NEXT logical-record-name INTO alt-logical-record location |
99 |
subschema-lr-ctrl* |
logical-record- location* |
|
|
|
MODIFY logical-record-name |
99 |
subschema-lr-ctrl* |
logical-record- location* |
|
|
|
MODIFY logical-record- name FROM alt-logical-record- location
|
99 |
subschema-lr-ctrl* |
logical-record- location* |
|
|
|
STORE logical-record-name |
99 |
subschema-lr-ctrl* |
logical-record- location* |
|
|
|
STORE logical-record- name FROM alt-logical-record- location |
99 |
subschema-lr-ctrl* |
logical-record location |
|
|
|
ERASE logical-record-name |
99 |
subschema-lr-ctrl* |
logical-record- location* |
|
|
|
ERASE logical-record- name FROM alt-logical-record- location |
99 |
subschema-lr-ctrl* |
logical-record- location |
|
|
To differentiate between the LRF DML statements,the DML compiler places the name of the verb issued into the LRC Block (subschema-lr-ctrl). |
Major Function Code |
DC System Service(in COBOL DML) |
(1) DCBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
30 |
TRANSFER CONTROL |
23 |
DCFLG1 |
DCSTR2 |
parameter |
|
30 |
DC RETURN |
19 |
|
|
|
|
34 |
LOAD TABLE |
15 |
01-level-program-location |
end-program-location |
|
|
34 |
DELETE TABLE |
5 |
01-level-program-location |
|
|
|
33 |
SET ABEND EXIT (STATE) |
20 |
|
|
|
|
33 |
ABEND |
1 |
|
|
|
|
Major Function Code |
DC System Service(in COBOL DML) |
(1) DCBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
32 |
GET STORAGE |
13 |
01-level-storage-data-location |
end-storage-data-location |
|
|
32 |
FREE STORAGE |
10 |
01-level-storage-data-location |
start-free-storage-location |
|
|
Major Function Code |
DC System Service(in COBOL DML) |
(1) DCBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
37 |
ATTACH |
3 |
DCFLG1 |
DCSTR2 |
parameter |
|
37 |
CHANGE PRIORITY |
4 |
|
|
|
|
39 |
ENQUEUE |
9 |
DCFLG1 |
DCBMSCOM (mode) |
DCBMSCOM(length) |
resource-id.. |
39 |
DEQUEUE |
8 |
DCFLG1 |
DCBMSCOM (length) |
resource-id.. |
|
31 |
WAIT |
24 |
ecb |
|
|
|
31 |
POST |
16 |
ecb |
|
|
|
Major Function Code |
DC System Service(in COBOL DML) |
(1) DCBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
35 |
GET TIME |
14 |
return-time |
return-date |
|
|
35 |
SET TIMER |
21 |
task-data-location |
end-task-data-location-location |
|
|
35 |
SET TIMER (post) |
21 |
post- ecb |
|
|
|
Major Function Code |
DC System Service(in COBOL DML) |
(1) DCBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
43 |
PUT SCRATCH |
18 |
scratch-data-location |
end-scratch-data-location |
|
|
43 |
GET SCRATCH |
12 |
return-scratch-data-location |
end-scratch-data-location |
|
|
43 |
DELETE SCRATCH |
6 |
post- ecb |
|
|
|
Major Function Code |
DC System Service(in COBOL DML) |
(1) DCBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
44 |
PUT QUEUE |
17 |
queue-data-location |
end-queue-data-location |
|
|
44 |
GET QUEUE |
11 |
return-queue-data-location |
end-queue-data-location |
|
|
44 |
DELETE QUEUE |
6 |
|
|
|
|
Major Function Code |
DC System Service(in COBOL DML) |
(1) DCBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
45 |
READ TERMINAL |
30 |
input-data-location |
end-input-data-location |
|
|
45 |
WRITE TERMINAL |
30 |
output-data-location |
end-output-data-location |
|
|
45 |
WRITE THEN READ TERMINAL |
30 |
output-data-location |
end-output-data-location |
input-data-location |
end-input-data-location |
45 |
CHECK TERMINAL |
31 |
input-data-location |
end-input-data-location |
|
|
47 |
READ LINE FROM TERMINAL |
32 |
input-data-location |
end-input-data-location |
|
|
47 |
WRITE LINE TO TERMINAL |
32 |
output-data-location |
end-output-data-location |
|
|
47 |
END LINE TERMINAL SESSION |
32 |
|
|
|
|
48 |
WRITE PRINTER |
37 |
message-location |
end-message-location |
|
|
46 |
MAP IN (IO) |
34 |
MRB-mapname |
|
|
|
46 |
MAP IN (NOIO) |
34 |
MRB-mapname |
mapped-data-location |
end-mapped-data-location |
|
46 |
MAP IN (paging) (a) |
34 |
MRB-mapname |
data-field-name |
sequence-field-name |
page-number |
46 |
MAP IN (paging) (b) |
34 |
MRB-mapname |
key |
page-number |
|
46 |
MAP OUT (IO) |
34 |
MRB-mapname |
message-text |
end-message-data-location OR DCBMSCOM (length) |
|
46 |
MAP OUT (NOIO) |
34 |
MRB-mapname |
mapped-data-location |
end-mapped-data- location |
|
46 |
MAP OUT (paging) |
34 |
MRB-mapname |
message-text |
end-message-location OR DCBMSCOM (length) |
key |
46 |
MAP OUTIN |
34 |
MRB-mapname |
message-text |
end-message-data-location OR DCBMSCOM (length) |
|
46 |
MODIFY MAP |
93 |
MRB-mapname |
MRE |
MRB-FLDLST |
|
46 |
INQUIRE MAP (a) |
92 |
MRB-mapname |
MRE |
|
|
46 |
INQUIRE MAP (b) |
92 |
MRB-mapname |
|
|
|
46 |
INQUIRE MAP (c) |
92 |
MRB-mapname |
MRE |
|
|
46 |
INQUIRE MAP (d) |
92 |
MRB-mapname |
MRB-FLDLST |
|
|
46 |
STARTPAGE |
40 |
MRB-mapname |
|
|
|
46 |
ENDPAGE |
41 |
MRB-mapname |
|
|
|
Major Function Code |
DC System Service(in COBOL DML) |
(1) DCBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
48 |
ACCEPT |
2 |
return-location |
|
|
|
40 |
SNAP |
22 |
DCSTR1 |
DCSTR1 (6) begin-dump-location |
DCSTR1 (7) end-dump-location |
title (8) |
49 |
SEND MESSAGE |
38 |
user-id |
message-location |
end-message-location |
DCBMSCOM(1) |
38 |
BIND TRANSACTION STATISTICS |
28 |
|
|
|
|
38 |
ACCEPT TRANSACTION STATISTICS |
28 |
return-stat-data-location |
|
|
|
38 |
END TRANSACTION STATISTICS |
28 |
return-stat-data-location |
|
|
|
51 |
KEEP LONGTERM |
29 |
record-name set-name area-name |
|
|
|
36 |
WRITE LOG |
25 |
text-return-location |
end-text-return-location |
reply-location (6) parameter-location |
end-reply-location (7) end-parameter-location |
Major Function Code |
DC System Service(in COBOL DML) |
(1) DCBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
50 |
COMMIT |
66 |
|
|
|
|
50 |
COMMIT TASK |
27 |
|
|
|
|
50 |
FINISH |
2 |
|
|
|
|
50 |
FINISH TASK |
27 |
|
|
|
|
50 |
ROLLBACK |
67 |
|
|
|
|
50 |
ROLLBACK TASK |
27 |
|
|
|
|
50 |
WRITE JOURNAL |
26 |
record-location |
end-record-location |
|
|
Major Function Code |
DC System Service(in COBOL DML) |
(1) DCBMSCOM (nn) |
(2) |
(3) |
(4) |
(5) |
---|---|---|---|---|---|---|
14 |
BIND-TASK |
28 |
DCSTR2 |
|
|
|
Copyright © 2014 CA.
All rights reserved.
|
|