IMSDB Important Tips

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

0 comments:

Computers TopOfBlogs Technology Blogs Mainframe interview question and answers,mainframe jobs,cobol,vsam,jcl,cics,db2,rdbms,mvs,tso,ispf,ibm,hcl,tcs,cts,wibro Blog Directory