Sie sind auf Seite 1von 53

Information Management System

IMS - INFORMATION MANAGEMENT SYSTEM Developed by IBM.


DATA LANGUAGE-I (DL/I) was developed as an interface between application code and data in IMS database Hierarchical database

TERMINOLOGY
Each segment will have unique 8 character (max) name Segments are made up of 1 or more fields Field is the smallest unit that dl/I can handle Each field will have max 8 character name Segment is the smallest information that dl/I can fetch Segment occurrence is a particular instance of a segment type

Two types of fields Key fields Search fields Key field is used to sequence database and it can not be changed Both types of fields can be used to search database

TYPES OF SEGMENTS
ROOT PARENT A SEGMENT WITHOUT PARENT A SEGMENT WITH ONE OR MORE DEPENDENT SEGMENTS DIRECTLY UNDER IT A SEGMENT WHICH IS DIRECTLY DEPENDENT ON ANOTHER CHILD SEGMENT ALL SEGMENTS UNDER A PARTICULAR SEGMENT OF THE DATABASE ALL OCCURRENCES (2 OR MORE) OF A SEGMENT TYPE UNDER A PARENT OCCURRENCES OF DIFFERENT SEGMENT TYPES UNDER A PARENT

DEPENDENT

TWIN

SIBLINGS

DATABASE RECORD
ONE OCCURRENCE OF A ROOT SEGMENT ALONG WITH ALL ITS DEPENDENT SEGMENTS

IMS DATABASE LIMITATIONS


IMS SUPPORTS 15 LEVELS 255 SEGMENTS 1000 FIELDS No limitation on number of segment occurrences

IMS ENVIRONMENT

DL/I FORMS BRIDGE BETWEEN APPLICATION PROGRAM AND IMS DATABASE DB PCB interface

App Prog

DL/I IS DATABASE MANAGER. IT CONSISTS OF IMS PROGRAM MODULES THAT RUN EXTERNAL TO APPLICATION PROGRAM DL/I ALLOWS SEQUENTIAL OR RANDOM PROCESSING OF DATABASE

I/O PCB interface

DL/I

DC

Database

Terminal

IMS ENVIRONMENT
MODES OF PROCESSING BATCH DL/I MODE MPP MODE BMP MODE

ONLINE

BATCH

MPP

BMP

DL/I

IMS ENVIRONMENT
BATCH DL/I TRUE BATCH PROCESSING NO DATA COMMUNICATION SERVICES ARE USED DATABASES ACCESSED MUST BE OFFLINE

MPP (MESSAGE PROCESSING PROGRAM) TRUE ONLINE PROCESSING TRANSACTION ARE ENTERED AT TERMINAL AND STORED IN MESSAGE QUEUE DATABASES ACCESSED MUST BE ONLINE

BMP (BATCH MESSAGE PROCESSING)

TWO TYPES

1. TRANSACTION ORIENTED: CAN READ & WRITE TO ONLINE MESSAGE QUEUES CAN PROCESS ONLINE FILES AND DATABASES

2. BATCH ORIENTED: CAN ONLY READ MESSAGE QUEUES ACCESS ONLINE DATABASES IN BATCH MODE

DL/I CONTROL BLOCKS

DATABASE DESCRIPTION (DBD) DEFINES THE LAYOUT OF THE DATABASE

DATABASE ADMINISTRATOR DEFINES LAYOUT USING DBDGEN MACRO

PROGRAM SPECIFICATION BLOCK (PSB) DEFINES THE PROGRAMS VIEW OF THE DATABASE AND APPLICATION PROGRAMS ACCESS AUTHORITY TO DATABASE DATABASE ADMINISTRATOR / PROGRAMMER DEFINES THIS USING PSBGEN MACRO

DL/I CONTROL BLOCKS


DATA BASE DESCRIPTION (DBD)

STATEMENTS IN DBD MACRO

STATEMENT DBD DATASET SEGM FIELD

DESCRIPTION SPECIFIES DATABASE NAME, ACCESS METHOD SPECIFIES DD NAME TO BE USED IN JCL, DISK TYPE SPECIFIES SEGMENT NAME,SEGMENT LENGTH, PARENT SPECIFIES FIELD NAME, LENGTH, STARTING POSITION IDENTIFIES A FIELD AS KEY OR SEARCH FIELD

DL/I CONTROL BLOCKS


SAMPLE DBDGEN
PRINT DBD DATASET SEGM FIELD SEGM FIELD SEGM FIELD FIELD DBDGEN FINISH END NOGEN NAME=VENDOR,ACCESS=HDAM DD1=VEND,DEVICE=3380 NAME=VENSEG,PARENT=0,BYTES=10 NAME=(VENCODE,SEQ,U),BYTES=10,START=1,TYPE=C NAME=ITEMSEG,PARENT=VENSEG,BYTES=5 NAME=(ITEMCODE,SEQ,U),BYTES=5,START=1,TYPE=C NAME=LOCNSEG,PARENT=ITEMSEG,BYTES=9 NAME=(LOCNCODE,SEQ),BYTES=3,START=1,TYPE=C NAME=ORDDATE,BYTES=6,START=4,TYPE=C

DL/I CONTROL BLOCKS


DATATYPES USED IN DBDGEN

TYPE C P

DESCRIPTION Character (Default) Packed Decimal

COBOL PICTURE X COMP-3

Z
H F

Zoned Decimal
Half Word Binary Full Word Binary

S9
9(4) COMP 9(8) COMP

DL/I CONTROL BLOCKS

PROGRAM SPECIFICATION BLOCK (PSB)


MADE UP OF ONE OR MORE PROGRAM COMMUNICATION BLOCKS (PCBs) DB PCB - DEFINES PROGRAMS VIEW OF A IMS DATABASE WHENEVER A DATABASE VIEW DEFINED BY THE PCB IS ACCESSED BY A CALL, THE RESULTS OF CALL ARE PASSED THROUGH THE PCB TO PROGRAM PSB IS GENERATED BY PSBGEN MACRO

DL/I CONTROL BLOCKS


PCB GIVES LOGICAL VIEW OF A DATABASE PORTION OF DATABASE THAT THE PROGRAM PROCESSES IS CALLED APPLICATION DATA STRUCTURE DATABASE PCB
A

DL/I CONTROL BLOCKS


SAMPLE PSBGEN

PRINT

NOGEN

PCB

TYPE=DB,DBDNAME=VENDOR,KEYLEN=15,PROCOPT=LS

SENSEG NAME=VENSEG SENSEG NAME=ITEMSEG,PARENT=VENSEG PSBGEN

END
KEYLEN IS THE LENGTH OF CONCATENATED KEY

DL/I CONTROL BLOCKS


PROCOPTS IN PSB DEFINES SECURITY LEVEL FOR THE PROGRAM PROCOPT DESCRIPTION

G
I R D A L LS K O P

Get or Read
Insert

Replace
Delete All Options (G, I, R, D) Initial Load Sequential Initial Load Access only Key of segment Used with G to Indicate that Hold is not allowed Path Calls

DL/I CONTROL BLOCKS


APPLICATION PROGRAM CAN HAVE MULTIPLE VIEWS OF A DATABASE BY USING SEPARATE PCBS FOR A SINGLE DATABASE

PSB PCB1 PCB2

PCB3

PCB4

DBD1

DBD2

DBD3

SEGMENT SEARCH ARGUMENT


THE SSA IS AN AREA IN WORKING STORAGE USED TO IDENTIFY THE

SEGMENT TO WHICH ACCESS IS REQUIRED


IT IS AN OPTIONAL DL/I CALL PARAMETER THAT QUALIFIES A CALL BY SPECIFIYING A PARTICULAR SEGMENT TYPE OR OCCURRENCE

WHEN SPECIFIED IN A DL/I CALL THE SSA ALWAYS FOLLOWS I/O PARAMETER THERE MAY BE 1 TO 15 SSAs IN A CALL STATEMENT THE SSAs MUST APPEAR IN HIERARCHICAL ORDER BY SEGMENT TYPE THE SSA CONTAINS INFORMATION TO OBTAIN THE REQUIRED SEGMENT. THE INFORMATION COULD BY SEGMENT NAME OR SEGMENT NAME & SEGMENT KEY OR SEGMENT NAME & SEARCH FIELD

SEGMENT SEARCH ARGUMENT


TYPES OF SSAS
UNQUALIFIED SEARCHES FOR A SPECIFIC SEGMENT TYPE

QUALIFIED SEARCHES FOR A SPECIFIC SEGMENT OCCURRENCE MORE EFFICIENT THAN UNQUALIFIED SSA

SEGMENT SEARCH ARGUMENT


UNQUALIFIED SSA
WORKING-STORAGE-SECTION.

..
01 HISTORY-SSA. 05 05 SEGMENT-NAME PIC X(8) VALUE HISTORY . FILLER PIC X(1) VALUE SPACE.

Blank in 9th position or * in 9th position - in position 10 and a blank in position 11

H I S T O R Y
H I S T O R Y * -

SEGMENT SEARCH ARGUMENT


QUALIFIED SSA
WORKING-STORAGE-SECTION. .. 01 SSA-EMPLOYEE. 03 SEGMENT-NAME PIC X(8) VALUE EMPLOYEE 03 COMMAND-CODE PIC X(2) VALUE *-. 03 BEGIN-QUALIFY PIC X(1) VALUE (. 03 KEY-NAME PIC X(8) VALUE EMPKEY . 03 OPERATOR PIC X(2) VALUE =. 03 KEY-VALUE PIC X(12) . 03 END-QUALIFY PIC X(1) VALUE ). PROCEDURE DIVISION. .. MOVE 123456789000 TO KEY-VALUE. CALL CBLTDLI USING FUNC-CODE, PCB-MASK-1, IO-AREA, SSAEMPLOYEE.

SEGMENT SEARCH ARGUMENT


OPERATORS USED IN QUALIFIED SSA

OPERATOR Equal to Not Equal to Less than Less than or Equal to Greater than Greater than or Equal to

SYMBOLS EQ, = , = NE, =, = LT, < , < LE, <=, =< GT, > , > GE, >=, =>

COBOL BASICS FOR IMS


DATA DIVISION
IN A COBOL-IMS PROGRAM. THE FIRST SECTION TO CONTAIN ANY IMS RELATED COMPONENTS IS THE WORKING STORAGE SECTION IDENTIFICATION DIVISION ENVIRONMENT DIVISION FUNCTION CODES I/O AREA

DATA DIVISION FILE SECTION WORKING STORAGE SECTION LINKAGE SECTION


PROCEDURE DIVISION

SSA
PCB MASKS

COBOL BASICS FOR IMS


FUNCTION CODES
A FUNCTION CODE IS A 4 BYTE CODE TO TELL DL/I WHAT KIND OF CALL THE PROGRAM IS MAKING

SOME VALID FUNCTION CODES ARE GU GET UNIQUE GN GET NEXT GNP GET NEXT WITHIN PARENT GHU GET HOLD UNIQUE GHN GET HOLD NEXT GHNP GET HOLD NEXT WITHIN PARENT DLET DELETE REPL REPLACE ISRT INSERT XRST EXTENDED RESTART CHKP CHECKPOINT

COBOL BASICS FOR IMS


INPUT/OUTPUT AREA
IS A STANDARD RECORD DESCRIPTION IN THE WORKING STORAGE

SECTION WHICH HOLDS DATABASE SEGMENTS FOR MANIPULATION


IS USED BY DL/I TO PASS SEGMENTS TO THE PROGRAM CAN BE USED BY PROGRAMMER TO ADD OR REPLACE SEGMENT DATA

MUST BE EQUAL TO OR GREATER THAN THE LENGTH OF THE


LONGEST SEGMENT TO BE USED BY THE PROGRAM IN CASES WHERE MULTIPLE SEGMENTS OF A HIERARCHY ARE UPDATED OR RETRIEVED, THE I/O AREA MUST BE LARGE ENOUGH TO

HOLD THE LARGEST CONCATENATION OF THESE SEGMENTS

COBOL BASICS FOR IMS


THE PCB MASK
USED IN LINKAGE SECTION LINKAGE SECTION
01 DB-PCB-1. 03 DBD-NAME 03 SEG-LEVEL 03 STATUS-CODE 03 PROC-OPTIONS 03 IMS-RESERVED 03 SEG-NAME 03 KEY-LEN 03 NUM-SENS-SEGS 03 KEY-FEEDBACK key PIC X(8). PIC X(2). PIC X(2). PIC X(4). PIC S9(5) COMP. PIC X(8). PIC S9(5) COMP. PIC S9(5) COMP. PIC X(??). <= length depends on segment

COBOL BASICS FOR IMS


THE PCB MASK
THERE SHOULD BE ATLEAST ONE PCB FOR EACH DATABASE USED

STATUS CODE OF PCB MASK EXPLAINS WHETHER A CALL IS SUCCESSFUL OR NOT

THE SEQUENCE IN WHICH PCB MASKS ARE DEFINED IN LINKAGE SECTION NEED NOT BE SAME AS THAT IN PSBGEN MACRO

COBOL BASICS FOR IMS


PROCEDURE DIVISION

PROCEDURE DIVISION. ENTRY DLITCBL USING DB-PCB-1, DB-PCB-2. <= Sequence should match that of :::::::::::: Macro PSB

::::::::::::
CALL CBLTDLI USING WS-PARM-COUNT, WS-FUNCTION-CODE, DB-PCB-MASK, <= Optional

IO-AREA,
SSA-1, SSA-2, SSA-3, . :::::::::: ::::::::::

GOBACK.

COBOL BASICS FOR IMS


RUN JCL EXECUTES THE BATCH PROCESSOR DFSRRC00 AND PASSES THE APPLICATION PROGRAM NAME AND PSBNAME AS PARAMETERS ENTRY DLITCBL PASSES THE PCB ADDRESS TO THE PROGRAM

RUN JCL

PROGRAM NAME PSB NAME

DL/I

IMS DATABASE

DLITCBL

GOBACK

CBLTDLI

CBLTDLI ACCEPTS PARAMETERS LIKE FUNCTION CODE, I/O AREA AND SSA TO DO THE NECESSARY DATABASE OPERATIONS AND RETURNS DATA AND STATUS CODES DESCRIBING THE SUCCESS OF THE CALL

APPLICATION PROGRAM

GOBACK IN THE COBOL PROGRAM TAKES THE CONTROL BACKTO DL/I WHICH PERFORMS IMS FILES CLOSING AND TERMINATES THE BATCH STEP. STOP RUN SHOULD NEVER BE USED AS IT WILL NOT FREE RESOURCES

DL/I CALLS
DL/I RETRIEVAL CALLS
ONE OF THE FOLLOWING FUNCTIONS WILL BE USED IN A RETRIEVAL DL/I CALL GU GN GNP - GET UNIQUE - GET NEXT - GET NEXT WITHIN PARENT

WHEN A RETRIEVAL IS DONE WITH AN INTENT TO UPDATE OR DELETE RECORDS, THE ABOVE FUNCTION CODES WILL BE PREFIXED WITH HOLD

GHU
GHN

- GET HOLD UNIQUE


- GET HOLD NEXT

GHNP - GET HOLD NEXT WITHIN PARENT

DL/I CALLS
GET UNIQUE
CALL CBLTDLI USING GU , PCB-MASK, SEGMENT-IO-AREA SEGMENTA*-(AKEY=1) SEGMENTB*-(BKEY=2) SEGMENTD*-(DKEY=6) AFTER THE CALL SEGMENTD WITH DKEY=6 WILL BE IN SEGMENT-IO-AREA AKEY 1
EKEY

7 2

11

BKEY

6 4 3 5 9 10

CKEY

DKEY

FKEY

DL/I CALLS
GET NEXT
RETREIVAL SEQUENCE
TOP TO BOTTOM FRONT TO BACK LEFT TO RIGHT
11 1

AKEY

7 2

EKEY

BKEY
GA

6 4 3 GK 5 9 10

CKEY

DKEY

FKEY

DL/I CALLS
CALL CBLTDLI USING GN , PCB-MASK, SEG-IO-AREA, SEGMENTA*-(AKEY=1) SEGMENTE*-(EKEY=8)

AFTER THE CALL SEGMENTE WITH EKEY=8 WILL BE IN PROGRAM I/O AREA

AKEY

7 2

11

EKEY

BKEY

6 4 3 5 9 10

CKEY

DKEY

FKEY

DL/I CALLS
GET NEXT WITHIN PARENT
CALL CBLTDLI USING GN , LS-PCB-MASK, SEGMENT-IO-AREA, SEGMENTA*-(AKEY=1)

SEGMENTB*-(BKEY=2)
CALL CBLTDLI USING GNP , LS-PCB-MASK, SEGMENT-IO-AREA AFTER THE CALL SEGMENTC WITH CKEY=3 WILL BE IN SEGMENT-IO-AREA
1

AKEY

7 2

11

EKEY

BKEY
6

4 3 5 9

10

CKEY

DKEY

FKEY

DL/I CALLS
GET HOLD CALLS (GHU/GHN/GHNP)
FUNCTIONS IDENTICAL TO GU/GN/GNP

INDICATES THE REQUESTED SEGMENT(S) MAY BE DELETED OR


REPLACED FORCING IMS TO PUT A LOCK ON THESE SEGMENTS WHICH WILL BE RELEASED ONLY AFTER ANOTHER CALL BY SAME PCB THIS ENSURES DATA INTEGRITY

DL/I CALLS
DELETE/REPLACE CALLS
MUST HAVE BEEN OBTAINED WITH A GET HOLD CALL (GHU, GHN, GHNP)

NO INTERVENING CALLS BETWEEN GET HOLD CALL AND REPLACE/DELETE CALLS

MULTIPLE REPLACE ALLOWED AFTER GET HOLD

DL/I CALLS
DELETE CALL
CALL CBLTDLI USING GHU , LS-PCB-MASK, WS-SEGMENT-IO-AREA SEGMENTA*-(AKEY=1)

SEGMENTB*-(BKEY=2)
CALL CBLTDLI USING DLET, LS-PCB-MASK
1

7 2

11

EKEY

BKEY
6

4 3 5 9

10

CKEY

DKEY

DL/I CALLS
REPLACE (REPL)
UPDATE CONTENTS OF A SEGMENT KEY FIELD MAY NOT BE ALTERED SSAs ARE NOT USED NORMALLY COMMAND CODES D - TO REPLACE PATH OF SEGMENTS N - TO EXCLUDE SEGMENTS FROM PATH STATUS CODES DA - TRYING TO CHANGE KEY DJ - NO PRECEDING GET HOLD CALL RX - REPLACE RULE VIOLATION

DL/I CALLS
CALL CBLTDLI USING GHU , LS-PCB-MASK, WS-IO-AREA, SEGMENTA*-(AKEY=1) SEGMENTB*-(BKEY=2) SEGMENTC*-(CKEY=3)

Change contents of WS-IO-AREA


CALL CBLTDLI USING REPL, LS-PCB-MASK, WS-IO-AREA WILL RESULT IN UPDATE OF SEGMENTC

7 2

11

EKEY

BKEY
6

4 3 5 9

10

CKEY

DKEY

FKEY

DL/I CALLS
INSERT (ISRT)
TWO MODES OF INSERT

LOAD MODE
UPDATE MODE LOAD MODE:

- FOR INITIAL LOADING OF DATABASE


- ADD TO EXISTING DATABASE

FOR LOAD MODE PROCOPT = L or LS MUST BE SPECIFIED IN

PSB
PROCOPT=L LOADS DATABASE BUT NOT NECESSARILY IN SEQUENTIAL ORDER

DL/I CALLS
INSERT (ISRT)
UPDATE MODE:

FOR UPDATE MODE PROCOPT=I or IS MUST BE SPECIFIED IN


PSB PROCOPT=I INSERTS SEGMENTS IN SEQ OR RANDOM ORDER PROCOPT=IS ADDS NEW SEGMENTS ONLY IN ASCENDING ORDER

COMMAND CODES F OR L D - OVERRIDES INSERT RULE - INSERT PATH OF SEGMENTS

DL/I CALLS
MOVE DATA FOR SEGMENTE INTO WS-SEGMENT-IO-AREA WITH EKEY=99 CALL AREA, CBLTDLI USING ISRT, LS-PCB-MASK, WS-SEGMENT-IO-

SEGMENTA*-(AKEY=1)
SEGMENTE AFTER THE CALL SEGMENTE WITH EKEY=99 IS INSERTED
1 99 7 2 11

EKEY

BKEY
6

10

CKEY

DKEY

FKEY

DL/I CALLS
SOME COMMON STATUS CODES

STATUS CODE SPACES AC AI

DESCRIPTION SUCCESSFUL CALL CALL HAS SSA WITH A HIERARCHICAL ERROR ERROR WHILE OPENING DATABASE. COMMON CAUSE IS LOADING A DATABASE WHICH IS NOT EMPTY OR DO OTHER THAN LOAD PROCESSING ON EMPTY DATABASE CALL SPECIFIES AN INVALID SSA FIELD NAMED IN A QUALIFIED SSA IS NOT CORRECT SEQUENCE FIELD IS CHANGED CALL IS NOT PRECEDED BY A SUCCESSFUL GET HOLD CALL A HIGHER LEVEL SEGMENT IS RETRIEVED IN SEQUENTIAL PROCESSING

CALL TYPES ALL CALLS ALL GET CALLS ISRT ALL CALLS

AJ AK DA DJ GA

ALL CALLS ALL GET CALLS ISRT REPL DLET REPL GN, GNP

DL/I CALLS
SOME COMMON STATUS CODES

STATUS CODE GB

DESCRIPTION END OF DATA BASE WAS REACHED DURING SEQUENTIAL RETRIEVAL

CALL TYPES GN

GE GK GP
II

SPECIFIED SEGMENT NOT FOUND A SEGMENT OF DIFFERENT TYPE, BUT AT THE SAME LEVEL IS RETRIEVED DURING SEQUENTIAL PROCESSING PROPER PARENTAGE IS NOT IN EFFECT
DUPLICATE INSERT

ALL GET CALLS ISRT GN, GNP GNP


ISRT

PROGRAMMING TIPS
INSTEAD OF USING GET CALL PRECEDING A ISRT CALL USE ISRT WITH APPROPRIATE SSA

USE QUALIFIED SSAS WHEREVER POSSIBLE IMPLIED SSAS SHOULD BE AVOIDED EVENTHOUGH DL/I CONSTRUCTS MISSING SSAS MINIMIZE THE NUMBER OF DL/I CALLS BY USING COMMAND CODES USE SEARCH FIELDS IN DL/I CALLS INSTEAD OF USING IF STATEMENTS IN COBOL PROGRAM

PROGRAMMING TIPS

TRY USING SECONDARY INDICES


DESIGN YOUR PROGRAM TO RUN IN BOTH BMP AND BATCH MODE USE CHECKPOINT/RESTART

THERE IS ONLY A SMALL PERFORMANCE DIFFERENCE BETWEEN THE GET AND GET HOLD CALLS. SO USE GET HOLD CALLS WHENEVER THERE IS A CHANCE ( > 5%) OF SEGMENT UPDATE/DELETE
IT IS GOOD PRACTICE TO PROGRAM FOR EASY ADJUSTMENT OF CHECKPOINT FREQUENCY

COMMON IMS ABENDS


U0047
DESCRIPTION

ONE OF THE DBPCBS IN THE PSB FAILED TO OBTAIN THE DATABASE AUTHORIZATION THROUGH DBRC. USUALLY OCCURS WHEN DATABASE IS UP IN ONLINE OR DATABASE IS USED IN UPDATE MODE BY ANOTHER PROGRAM. SOLUTION
BRING DOWN THE DATABASE USING /DBR DB DATABASE NAME WAIT TILL CONTENDING JOB COMPLETES AND RESTART THE JOB

COMMON IMS ABENDS


U0456
DESCRIPTION

A DL/I BATCH REGION, BMP PROGRAM COULD NOT BE INITIATED BECAUSE THE PSB HAS BEEN STOPPED OR LOCKED BY A COMMAND OR A PRIOR PROGRAM FAILURE
SOLUTION

ANALYZE WHY THE PSB IS LOCKED OR STOPPED. RESTART THE JOB AFTER THE PSB HAS BEEN UNLOCKED
TO UNLOCK PSB FOR A BMP PROGRAM USE /START PROGRAM psbname COMMAND

COMMON IMS ABENDS


U0476
DESCRIPTION

A DL/I CALL DOES NOT INCLUDE A VALID PCB ADDRESS


PROBABLE CAUSES PSB LANGUAGE TYPE SPECIFIED IS NOT SAME AS THAT OF APPLICATION PROGRAM COBOL MAIN PROGRAM ENTERED AT PROCEDURE DIVISION INSTEAD OF DLITCBL BECAUSE ENTRY DLITCBL NOT INCLUDED IN LKED WRONG PCB WITH FEWER PCBS THAN EXPECTED IS USED

COMMON IMS ABENDS


U0852
DESCRIPTION

THE SEGMENT CODE RETURNED IS NOT VALID FOR THE DATABASE


SOLUTION ANALYZE THE DATABASE. IF THERE IS AN INVALID POINTER, RECOVER THE DATABASE.

COMMON IMS ABENDS


U3303
DESCRIPTION

APPLICATION PROGRAM TRIED TO USE A DATABASE THAT WAS NOT AVAILABLE FOR ACCESS AND/OR UPDATE. DFS3303I MESSAGE ACCOMPANIES THIS ABEND
SOLUTION

CHECK THE STATUS OF DATABASE GIVEN IN DFS3303I MESSAGE USING


/DISPLAY DB database name IF DATABASE IS DOWN START THE DATABASE USING THE COMMAND /START DB database name

Das könnte Ihnen auch gefallen