IMS-DB DL/I It is a user interface language used to access IMS Databases. DBD It describes the physical nature of the database. PRIN...
IMS-DB
DL/I
It is a user interface language used to access IMS Databases.
DBD
It describes the physical nature of the database.
PRINT NOGEN
DBD NAME=DBDNAME, ACCESS= (HISAM, ISAM)
DATASET DD1=PRIME, OVFLW= OVERFLOW, DEVICE= 3390
SEGM NAME=HOSPITAL, PARENT=0, BYTES=80
FIELD NAME= (HOSPID, SEQ, U), BYTES=10, START=1, TYPE=C
SEGM NAME=WARD, PARENT=HOSPITAL, BYTES=80
…
DBDGEN
FINISH
END
PSB
It describes the logical nature of the database.
PCB (Program Communication Block)
Each PCB in the PSB defines one logical data structure.
PRINT NOGEN
PCB TYPE=DB, NAME=DBDNAME
SENSEG NAME=HOSPITAL, PARENT=0, PROCOPT=K
SENSEG NAME=WARD, PARENT=HOSPITAL, PROCOPT=G
SENFLD NAME=WARDNO, START=1
…
PSBGEN LANG=PLI, PSBNAME=PSBNAME
END
ENTRY STATEMENT
Assigns a standard IMS name to the entry point of the program
PLITDLI / DLITPLI – gives the entry point of an IMS PLI program
CBLTDLI / DLITCBL – gives the entry point of an IMS COBOL program
CALL
CALL statement parameter list and the data items in the parameter list makes the
DL/I Interface language
DL/I Functions
GU, GN, GNP, GHU, GHN, GHNP, ISRT, DLET, REPL
PCB-MASK
DCL 01 PCB-MASK
02 DBD-NAME PIC X (8),
02 SEG-LEVEL PIC X (2),
02 STATUS-CODE PIC X (2),
02 PROC-OPTIONS PIC X (4),
02 JCB-ADDR PIC X (4),
02 SEG-NAME PIC X (8),
02 KEY-LENGTH PIC S9 (5),
02 NUM-OF-SEG PIC S9 (5),
02 KEY-FEED
SSA (Segment Search Arguments)
It is used to identify a particular segment type or occurrence
Up to 15 SSA can be specified in a CALL
Qualified SSA
SSA indicating the segment type and a specific occurrence
In the 9th position, it’s having the left open parenthesis
Unqualified SSA
SSA indicating the segment type and not an occurrence
In the 9th position, it’s having a space
Load Mode Status Code:
LB – Segment already Exist
LC – Key out of Sequence
LD – No parent for segment being loaded
LE – Segment type out of sequence
Insert Mode Status code:
II – Segment already Exist
IX – Insert Rule violation
DBD Insert Rules:
- Rules in PCB is used to specify in where the segment occurrence is inserted if the
Segment type doesn’t have key field
- Three options are FIRST,LAST AND HERE. Default is last if rules not coded.
Ex:
SEGM NAME=DOCTOR, PARENT=WARD, BYTES=80, RULES= (, HERE)
REPLACE RULES:
No other call referencing the same PCB are allowed between GET HOLD and REPLACE
CALL
DELETE RULES
A CALL does not include SSA’s when issuing DELETE or REPLACE
Only exception is using D Command code is to replace all segments in a path
DELETE MODE STATUS CODE
DJ – No previous successful GET HOLD call
DA – Key field modified
DX – Delete rule violation
RX – Replace rule violation
AJ – a qualified SSA is given in REPL call
COMMAND CODES
Allows the program to request a number of DLI functions for speed processing and
Time saving
C – Concatenation
D – Gives all segment hierarchy occurrences in the CALL statement
F – Retrieve first occurrence
L – Retrieve last occurrence
N – Doesn’t allow updating
P – Set the parentage
Q – Multiple application concurrently access the same database
U – Moving forward to the database when unqualified GN and GNP functions used
V -
NULL – Reserves one or more positions in an SSA into which command codes can
Place dynamically.
Unqualified SSA with an F command code performs faster than GU CALL because
GNP with the F command code takes advantage of the current position.
ABEND codes:
U0260 – Parm count value is less than the parameter list count.
U0456 – PSB is not found in the ACBLIB
No comments
Post a Comment