dl1_1

Upload: scabandra

Post on 13-Jul-2015

321 views

Category:

Documents


1 download

TRANSCRIPT

80826262.doc

1/31

jj/01/OO

1. Les diffrents types de S.G.B.D 1.1. Les bases de type hirarchiqueCe type de base implique l'existence d'un pre , et lors de l'accs au segment connatre le chemin prendre. Exemple : DL1 DB2 ( avec l'intgrit rfrentielle V.2)

Le pre ( racine )

L'enfant 1 ( dpendent )

l'enfant 2

l'enfant 3

le petit fils

80826262.doc

2/31

jj/01/OO

1.2.

Les bases de type relationnelExemple : DB2 , ORACLE , ADABASE , etc...

Table A

Table B

Colonne A Colonne B Colonne C

Colonne D Colonne E Colonne F

Une table est en relation avec une autre par l'intermdiaire de ces colonnes .

1.3.

Les bases de type rseauChaques entits ont une existence autonome. Les entits sont des fichiers matres , les liaisons entre les matres sont assures par des fichiers variables. Exemple : DL1 ( avec les bases logiques ) IDS II ( CII-HB) IDMS BMS (UNIVAC)

Entit 1

Entit 2

Entit 3

Entit 4

80826262.doc

3/31

jj/01/OO

2. Les bases DL1 2.1. Les diffrents types de bases DL1HSAM SHSAM HISAM SHISAM GSAM HDAM HIDAM MSDB DEDB Hirarchical Squential Accs Mthod Simple Hirarchical Squential Accs Mthod Hirarchical Indexed Squential Accs Mthod Simple Hirarchical Indexed Squential Accs Mthod Gnralized Squential Accs Mthod Hirarchical Direct Accs Mthod Hirarchical Indexed Accs Mthod Main Storage Data Base ( Fath Path Only ) Data Entry Data Base ( Fath Path Only ) BSAM ou QSAM BSAM ou QSAM VSAM ou ISAM/OSAM VSAM BSAM ou VSAM VSAM ou OSAM VSAM ou VSAM/OSAM ou ISAM/OSAM N/A

2.2.

La structure des segmentsAttention , toutes les bases DL1 cites ci dessus , nont pas obligatoirement toute la structure. Chaque pointeur occupe 4 caractres.

2.2.1.

Le format FixeSegment code 1 caractre Delete Byte 1 caractre Pointeurs et compteurs variable suivant nb pointeurs Data user Longueur spcifie dans DBD

2.2.2.

Le format variableSegment code 1 caractre Delete Byte 1 caractre Pointeurs et compteurs variable suivant nb pointeurs Data user Compteur ( 2 caractres ) et Longueur spcifie dans DBD (mini/maxi)

80826262.doc

4/31

jj/01/OO

2.2.3.DB :

Vocabulaire- Base de donne - Contient de 1 N DBR - Ensemble de segments - Contient de 1 N segments pour une cl primaire. - Peut avoir des segments fixes ou variables.

DBR :

Segment : - Elment logique DL1 . - Contient un prfixe et une zone user data - La zone user data contient de 1 N champs - Un segment privilgi dit "racine" ( ou pre ) - Maximum de 255 types de segments pour une DB avec 15 niveaux au maximum - Fixe ou variable DBD : Description de la database FIELD : champ sur segment

80826262.doc

5/31

jj/01/OO

2.3.

Les bases DL1 assimils Les bases de type HSAM

2.3.1.

Organisation : QSAM ( IMS/DC procopt = GS ) ou BSAM ( IMS/DB procopt = G ) Juxtaposition physique 1 DBR = 1 N blocs conscutifs Chargement en fin de base Structure : Segment code , delete byte , pas de pointeur. Gestion : lecture , recherche squentielle comme sur une bande. Si mise jour , cela signifie de r-crire toute la base ( fichier entre - fichier sortie ) Scurit : aucune ( pas de logging, recovery)

entre

Transaction

sortie

2.3.2.

Les bases de type SHSAM

Identique au type HSAM , mais qu'un seul type de segment ( RACINE ). Structure : que la Data et fixe

entre

Transaction

sortie

80826262.doc

6/31

jj/01/OO

2.3.3.

Les bases de type HISAM

Mthode d'accs ISAM/OSAM ou VSAM ( KSDS/ESDS ) Chargement : Juxtaposition physique DBR : ordre croissant sur cl Segment : dans l'ordre hirarchique Mise jour Dans l'overflow , squence maintenue par pointeur Pas ou peu de rcupration de place aprs un delete Structure : segment code, delete byte, pointeur de suite, data Si ISAM/OSAM = 7 + 2 caractres de prfixe Si KSDS/ESDS = 5 + 2 de prfixe Conseils Pas de mise jour TP ou batch Accs squentiel ou direct trs performant DBR de tailles constantes et qui puissent tre en primaryPRIMARY DATASET OVERFLOW DATASET

DBR1 DBR2

suite DBR1

2.3.4.

Les bases de type SHISAM

Identique au type HISAM , mais qu'un seul type de segment ( RACINE ). Structure : que la Data et fixePRIMARY DATASET

DBR1 DBR2

80826262.doc

7/31

jj/01/OO

2.3.5.

Les base de type GSAM

Mthode d'accs VSAM ( ESDS ) ou BSAM Mono segment Pas de delete

2.4.

Les vrais bases DL1 Les pointeurs DL1 Les pointeurs hirarchiques

2.4.1. 2.4.1.1.

Les pointeurs allant de pre en fils ou de fils en pre PHF et PHB

Racine

Segment 1

Segment 2

Segment 3

= Pointeurs = Chemin d'accs squentiel aux segments

Dans ce cas la racine possde 1 pointeur vers segment 1 , le segment 1 possde 2 pointeurs , l'un vers segment 2 et l'autre vers segment 3 Note : Si l'on dsire lire le DBR complet , DL1 lira physiquement Racine , segment 1 , segment 2 , segment 1 puis segment 3.

80826262.doc

8/31

jj/01/OO

2.4.1.2.

Les pointeurs familiauxPTF et PTB

TWIN Forward et Backward ( jumeaux ) CHILD Fisrt et Last ( frres ) PCF et PCL

PTF

PTB Racine1 Racine 2 PCL PCF PCL PCF PTF Segment 1 PHF PHF Segment 21 Segment 23 Segment 22 PTF

Segment 2

Segment 3

= Pointeurs

2.4.1.3.

Mixage des pointeurs

Si PHx (hirarchique) pas de PCF ( Child First ) Si PCF ou PCL pas de PHx

2.4.1.4.

Les pointeurs logiques

Deux structure de pointeurs : Par adresse Par valeur de la cl Parent logique (LP) Enfant logique (LC) First (LCF) ou Last (LCL) Jumeau logique (LT) Forward (LTF) ou Backward (LTB)

2.4.2.

Les bases de type HDAM

Organisation physique 80826262.doc 9/31 jj/01/OO

Mthode d'accs : VSAM ( ESDS) ou OSAM Accs par routine de RANDOM Les segments sont relis par des pointeurs La place des segments annuls est immdiatement rutilisable.

VSAM (ESDS) ou OSAM routine random Accs l'adresse CI et RAP

Cl

BIT MAP _______________________ R.A.A _______________________ OVERFLOW

Suite du DBR s'il y a lieu

80826262.doc

10/31

jj/01/OO

2.4.3.

Les bases de type HIDAM

Organisation physique Mthode d'accs : VSAM ( KSDS/ESDS) ou VSAM (KSDS)/OSAM ou ISAM + OSAM/ Accs par cl Les segments sont relis par des pointeurs La place des segments annuls est immdiatement rutilisable.

VSAM (KSDS)

VSAM(ESDS)

Cl des racines

Stockage des DBR

80826262.doc

11/31

jj/01/OO

2.5.

Les bases Fath pathNote : CICS ne supporte pas FATH PATH. Permet une meilleur disponibilit des databases. Accepte des GIGA BASE Restrictions : pas d'index secondaire , pas de relations logiques

2.5.1.

Les bases de type MSDB

Base de type mmoire ( mais stock dans un fichier en fin d'IMS) Mono segment de longueur fixe et la cl est lie un terminal ou dmarre de la position 1 avec une limite 240.

2.5.2.

Les bases de type DEDB

Organisation de type HDAM / VSAM . Pointeurs spciaux ( 8 maxi ) pas d'index secondaire , pas de relations logiques Maximum 127 segments types La base peut tre dcoupe en 240 AREAS

2.6.

Les index La structure d'un index

2.6.1.

Organisation VSAM ( KSDS )

CI

Index set record

CI

squence set record

CI

squence set record

CI 1

CI 2

CI 3

CI 4

CA

CA

80826262.doc

12/31

jj/01/OO

2.6.2.

Les index secondaires

Ce type d'index est autoris pour les bases HISAM , HDAM et HIDAM.

Structure normale de la base avec ou sans index primaire sur la racine

Client

Index 2 Commande

Index 3

Ligne cde

Facture

2.6.2.1.

Changement de squenceSi l'index secondaire pointe sur la racine , je change de squence .

2.6.2.2.

Changement d'axe de la base :

Vue de la base par l'index 2 : Le pre devient enfant et l'ain.

Commande

Client

Ligne cde

Facture

80826262.doc

13/31

jj/01/OO

Vue de la base par l'index 3 : perte de certains segments.

Facture

Commande

2.7.

Les bases de type logiqueC'est dire mettre des pointeurs logiques de faon a voir la base autrement ou de runir plusieurs bases.Base Commande Base Facture

Client

Facture

Commande

Ligne Fact.

Ligne cde

Je dcide que client sera pre de facture et ligne de commande est pre de ligne de facture .

80826262.doc

14/31

jj/01/OO

Je dcide que client sera pre de facture et ligne de commande est pre de ligne de facture .Base logique 1 Base logique 2

Client

Client

Commande

Facture

Commande

Ligne cde

Ligne Fact.

Ligne cde

Ligne Fact.

80826262.doc

15/31

jj/01/OO

3. Les accs IMS/DC ou DB 3.1. Lien entre IMS et programmeL'objet P.S.B assure la description du lien entre votre programme et IMS / DC ou DB. Un P.S.B contient : Error: Reference source not found Le ou les P.C.B de type IMS/DC Error: Reference source not found Le ou les P.C.B de type IMS/DB Ce dernier contient les segments sensitifs et les champs sensitifs pour votre programme. C'est dire une vue de la base DL1 par votre programme ( un peu comme DB2 ) avec pour restriction la vue au minimum de la cl pre pour accder aux enfants.

3.2.

Les types d'appel I.M.SError: Reference source not found Appel IMS/DC ( terminaux , transactions , systme ) Error: Reference source not found Appel IMS/DB ( bases DL1 via batch DL1 ou batch BMP ou transaction ) Error: Reference source not found Appel HSSR ( bases DL1 via un utilitaire IBM , valable que pour un batch HSSR hors BMP ) Error: Reference source not found Appel Fast Path ( bases Fath Path )

3.3.

La codification des CALLsError: Reference source not found IMS/DC CALL ASMTDLI , fonction , PCB , zone E/S , [MOD , DEST ] CALL CBLTDLI,idem CALL PLITDLI , count , fonction , PCB , zone E/S , [ MOD , DEST ] Note : zone E/S devient facultatif lors d'une demande de CHEK POINT ou de ROLL BACK Error: Reference source not found IMS/DB CALL ASMTDLI , fonction , PCB , zone E/S , [SSA(s) ] CALL CBLTDLI , fonction , PCB , zone E/S , [SSA(s) ] CALL PLITDLI , count , fonction , PCB , zone E/S , [ SSA(s) ] Error: Reference source not found HSSR CALL ASMHSSR , fonction , PCB , zone E/S , [SSA(s) ] CALL CBLHSSR , fonction , PCB , zone E/S , [SSA(s) ] CALL PLIHSSR , count , fonction , PCB , zone E/S , [ SSA(s) ] Error: Reference source not found Fath Path CALL ASMTDLI , fonction , PCB ou MSDB ou DEDB , zone E/S , [ SSA racine ] CALL CBLTDLI , fonction , PCB ou MSDB ou DEDB , zone E/S , [ SSA racine ] CALL PLITDLI , count , fonction , PCB ou MSDB ou DEDB , zone E/S , [ SSA racine ]

80826262.doc

16/31

jj/01/OO

3.4.

La macro S.A.P d'accs IMS/DC ou IMS/DB ( IMSES ) Format standard

3.4.1.

CALL type appel , count , fonction , PCB , zone E/S, options Le Count est obligatoire en PL1 , et non obligatoire pour l'assembleur et le cobol si l'option VL est indique lors du CALL.

3.4.2.

Format assembleur ( MONOPRIX)+------------------------------------------------------+ ] SYMBOL ] IMSES ] FONC=FONCTION (OBL.) ] ] ] ] PCB=NOMPCB (OBL.) ] ] ] ] ZES=NOMZONE OU (RX) (FAC.) ] ] ] ] SSA=(SSA1,SSA2,...) (FAC.) ] ] ] ] BR1=REFER,(SC1,SC2..) (FAC.) ] ] ] ] BR2=REFER,(SC3,SC4..) (FAC.) ] ] ] ] BR3=REFER,(SC5,SC6..) (FAC.) ] ] ] ] BR4=REFER,(SC7,SC8..) (FAC.) ] ] ] ] MOD=NOMMOD OU (RX) (FAC.) ] ] ] ] DEST=LTERM OU TRANS OU (RX) (FAC.) ] ] ] ] TPGM= (FAC.) ] ] ] ] ] +------------------------------------------------------+

3.4.3.

Format COBOL ( MONOPRIX )+------------------------------------------------------+ ] EXEC ] IMSES ] FONC=FONCTION (OBL.) ] ] ] ] PCB=NOMPCB (OBL.) ] ] ] ] ZES=NOMZONE OU (RX) (FAC.) ] ] ] ] SSA=(SSA1,SSA2,...) (FAC.) ] ] ] ] BR1=REFER,(SC1,SC2..) (FAC.) ] ] ] ] BR2=REFER,(SC3,SC4..) (FAC.) ] ] ] ] BR3=REFER,(SC5,SC6..) (FAC.) ] ] ] ] BR4=REFER,(SC7,SC8..) (FAC.) ] ] ] ] MOD=NOMMOD OU (RX) (FAC.) ] ] ] ] DEST=LTERM OU TRANS OU (RX) (FAC.) ] ] ] ] TPGM= (FAC.) ] ] ] ] END-EXEC ] +------------------------------------------------------+

3.4.4.

Signification des diffrents paramtresFONC= : NOM D UNE FONCTION IMS DONT L EQUIVALENCE A ETE DEFINIE PRECEDEMENT en WORKING AVEC UN COPY IMSPGMG EX. IMSES FONC=GU GU : GET UNIQUE GHU : GET HOLD UNIQUE GN : GET NEXT GNH : GET HOLD NEXT GNP : GET NEXT PARENT GHNP: GET HOLD NEXT PARENT DLET: DELETE REPL: REPLACE ISRT: INSERT Que pour IMS/DC CHKP: Demande de point de contrle ROLB: Demande de restauration CHNG: Changement de destination CMD : Emission d'une commande IMS GCMG: Lecture des messages suite un CMD PURG: Purge d'un message

80826262.doc

17/31

jj/01/OO

PCB=

:

NOM SYMBOLIQUE DU PCB DEFINI DANS LA MACRO IMSDB (ASM) ou IMSPCB (COBOL) DANS LE PARAMETRE PCB= POUR LEQUEL LA FONCTION FONC= EST DESIREE EX. IMSES FONC=GU,PCB=IOPCB NOM SYMBOLIQUE D UNE ZONE OU SON ADRESSE DANS UN REGISTRE (RX) SUR LAQUELLE LA FONCTION SERA EXECUTEE EX. IMSES FONC=GU,PCB=IOPCB,ZES=ZONMES NOM SYMBOLIQUE DE LA OU DES SSA QUALIFIANT LA FONCTION LE NOMBRE MAXIMUM DES SSA EST DE 15 UNE SSA PEUT ETRE DEFINIE A L AIDE DE LA DE LA MACRO-INSTRUCTION IMSSA EX. IMSES FONC=GU,PCB=DBPCB,ZES=ZONMES, --SSA=(NOMSSA1,NOMSSA2) BRANCHEMENT A UNE REFERENCE POUR LE OU LES STATUS CODES CITES QUATRE BRANCHEMENTS DIFFERENTS SONT POSSIBLES EX. IMSES FONC=GU,PCB=DBPCB,ZES=ZONMES, --SSA=(NOMSSA1,NOMSSA2), BR1=NONTROUV,(GB,GE) LE STATUS CODE A BLANC N EST PAS A TESTER IL Y A RETOUR AUTOMATIQUE EN SEQUENCE LES STATUS CODES NON TESTES PROVOQUENT UN DUMP PERMET DE ROMPRE LE CHAINAGE MID/MOD AU COURS DE L INSERT D UN MESSAGE NOMMOD EST LE NOM DU MOD CHOISI (RX) EST UN REGISTRE QUI CONTIENT L ADRESSE D UNE ZONE DE 8 OCTETS CONTENANT LE NOM DU MOD EX. IMSES FONC=ISRT,PCB=IOPCB,ZES=MESSOR,MOD=APDOCA --PERMET DE PASSER UN ALTPCB UN NOM DE LTERM OU UN NOM DE TRANSACTION NOMDEST EST LE NOM DU LTERM OU DE LA TRANSACTION (RX) EST UN REGISTRE QUI CONTIENT L ADRESSE D UNE ZONE DE 8 OCTETS CONTENANT LE NON DU LTERM OU DE LA TRANSACTION EX. IMSES FONC=CHNG,PCB=ALTPCB,DEST=APDTCA --PERMET DE D INDIQUER LE TYPE DE PROGRAMME PAR DEFAUT ASSEMBLEUR DL/1 (ASMTDLI) INDIQUER TPGM=ASMHSSR POUR ASSEMBLEUR AVEC HSSR

ZES=

:

SSA=

:

BR1=

:

MOD= :

DEST=

:

TPGM=

:

En fin de macro , on continue en squence si le status code est O.K ou l'on se dbranche sur les tiquettes indiques dans les BRx , et si le status code n'est pas test un DUMP est provoqu. En assembleur , le registre R1 pointe sur la DSECT correspondant au PCB , la DSECT est gnre par la macro IMSDB.BASEPCB EQU R1 USING DBPCB,BASEPCB DBPCB DSECT MASQUE DBDBNAM DS CL8 DBSGLEV DS CL2 DBSTAT DS CL2 DBPROC DS CL4 DBRESV DS CL4 DBSEGFB DS CL8 DBKEYLN DS CL4 DBNUMSG DS CL4 DBKEYFB DS C ORG DBPCB IOPLTERM DS CL8 DS CL2 IOPSTAT DS CL2 IOPDATE DS CL4 IOPHEURE DS CL4 IOPIMSN DS CL4 IOPMOD DS CL8 IOPIDENT DS CL8 ORG DBPCB ALTDEST DS CL8 DS CL2 ALTSTAT DS CL2 P C B BASEPCB

80826262.doc

18/31

jj/01/OO

En COBOL vous devez utiliser les zones gnres par la macro IMSPCB. Exemple de gnration .01 IOPCB. 03 03 03 03 03 03 03 03 03 IOPLTERM-IOPCB FILLER STATUS-IOPCB IOPDATE-IOPCB IOPHEURE-IOPCB IOPIMSN-IOPCB IOPMOD-IOPCB IOPIDENT-IOPCB FILLER PIC X(008). PIC X(002). PIC X(002). PIC S9(007) COMP-3. PIC S9(007) COMP-3. PIC S9(005) COMP. PIC X(008). PIC X(008). PIC X(251).

DEFINITION PCB TYPE ALT ALTPCB-ALTPCB1 01 ALTPCB1. 03 ALTDEST-ALTPCB1 03 FILLER 03 STATUS-ALTPCB1 03 FILLER PIC PIC PIC PIC X(008). X(002). X(002). X(279).

DEFINITION PCB TYPE DB DBPCB-BPPGHE 01 BPPGHE. 03 03 03 03 03 03 03 03 03 DBDBNAM-BPPGHE DBSGLEV-BPPGHE STATUS-BPPGHE DBPROC-BPPGHE DBRESV-BPPGHE DBSEGFB-BPPGHE DBKEYLN-BPPGHE DBNUMSG-BPPGHE DBKEYFB-BPPGHE PIC X(008). PIC X(002). PIC X(002). PIC X(004). PIC S9(005) COMP. PIC X(008). PIC S9(005) COMP. PIC S9(005) COMP. PIC X(255).

ATTENTION : La zone contenant la cl concatne n'est jamais r-initialise par DL1.

80826262.doc

19/31

jj/01/OO

3.5.

La macro S.A.P de description des SSA ( IMSSA ) Formats standard SSA non qualifiesparateur 1 blanc

3.5.1. 3.5.1.1.

Segment Name 8 car

3.5.1.2.

SSA qualifiespara -teur ( Field name 8 car_ oprateur 2 car Field value variable spara -teur )

Segment Name 8 car

3.5.1.3.

SSA non qualifie avec command codeIndicateur * Cmd code 1 car sparateur 1 blanc

Segment Name 8 car

3.5.1.4.

SSA qualifie avec commande codeindica teur * Cmd code spara -teur 1 car ( Field name 8 car_ oprateur 2 car Field value variable spara -teur )

Segment Name 8 car

3.5.1.5.

Le code oprateur

le point reprsente un blanc. Equal '=.' ou .'= 'ou 'EQ' Plus grand que '>.' ou '.>' ou GE Plus petit que '' ou 'GE' Plus petit ou gal ', =, =,CL=12

+

EXEMPLE ASM :

LES SYMBOLES GENERES SERONT : SSA1 SSA1NS SSA1NC SSA1OP SSA1CL symbole englobant la SSA DC CL8'SEG1' DC CL8'IND1' DC CL2'= ' DC CL12'............'

80826262.doc

22/31

jj/01/OO

EXEMPLE COBOL : EXEC IMSSA NZ=SSA1,NIVEAU=02,NS=SEG1,NC=IND1,OP==> CL=012 END-EXEC. LES SYMBOLES GENERES SERONT : 02 SSA1. 03 SSA1NS 03 SSA1NC 03 SSA1OP 03 SSA1CL PIC PIC PIC PIC X(8) VALUE 'SEG1'. X(8) VALUE 'IND1'. X(2) VALUE '=>' X(012).

RESTRICTION : NE PAS METTRE ' >' MAIS '> ' OU GT

80826262.doc

23/31

jj/01/OO

4. Gestion dune base DL1 ( accs ) 4.1. Trois types de recherches - Recherche directe - Recherche squenteille GU, GHU GN, GHN

- Recherche squentielle de dpendants GNP, GHNP

4.2.

Trois types de mise jour - Mise jour - Destruction - Cration GHx puis REPL GHx puis DLET Gx puis ISRT ou ISRT avec SSA des pres

4.3.

Exemples : Lire une base de donne de A Z

4.3.1.

GN BASE

autres ERREUR STATUS GB

BB TRAITER

LIRE. EXEC IMSES FONC=GN,PCB=BASE,ZES=ZONE,BR1=FINBASE,GB END-EXEC. TRAITER. intructions COBOL GO TO LIRE. Note : Si status code diffrent de blanc (BB) , un dump est provoqu par IMSES

80826262.doc

24/31

jj/01/OO

4.3.2.

Lire en squentiel tous les dpendants d'un DBR

GU BASE SSA CLEA

autres STATUS BB

GE Non trouv

GNP BASE

autres ERREUR STATUS

BB,GA,GK TRAITER

GB

MOVE

'CLEA' TO SSARACCL.

EXEC IMSES FONC=GU,PCB=BASE,ZES=ZONE,BR1=NONTROUV,(GE,GB),SSA=SSARAC, END-EXEC. LIRE. EXEC IMSES FONC=GNP,PCB=BASE,ZES=ZONE, BR1=FINBASE,GB BR2=FINDBR,GE BR3=TRAITER,(GA,GK) END-EXEC. TRAITER. intructions COBOL GO TO LIRE. Note : Si status code GA : Changement de niveau mais toujours sous mme pre. Si status code GK : Changement de segment sur le mme niveau et sous le mme pre.

80826262.doc

25/31

jj/01/OO

4.3.3.

Lire tout un segment type pour une base.IMSES FONC=GN,PCB=BASE,ZES=ZONEIO,BR1=NONTROUV,GB,SSA=SSADEP

DL1 retoune le premier segment cit sur SSADEP, le pre n'est peu tre pas celui que l'on croit, mais la cl concatn nous donne la valeur du ou des pres.

4.3.4.

Mise jour d'une baseIMSES FONC=GHU,PCB=BASE,ZES=ZONEIO,SSA=SSARAC IMSES FONC=REPL,PCB=BASE,ZES=ZONEIO

4.3.5.

Destruction d'un segment ( et de ses enfants )IMSES FONC=GHU,PCB=BASE,ZES=ZONEIO,SSA=SSARAC IMSES FONC=DLET,PCB=BASE,ZES=ZONEIO

4.3.6. 4.3.6.1. 4.3.6.2.

Cration d'un segment Segment racine Segment dpendant

IMSES FONC=ISRT,PCB=BASE,ZES=ZONEIO,SSA=SSARANQ

IMSES FONC=GU,PCB=BASE,ZES=ZONEIO,SSA=SSARAC (SSA qualifie) IMSES FONC=ISRT,PCB=BASE,ZES=ZONEIO,SSA=SSADEPNQ ou IMSES FONC=ISRT,PCB=BASE,ZES=ZONEIO,SSA=(SSARAC,SSADEPNQ) Si le segment est sur cl unique , le classement s'effectue suivant la cl. Si le segment n'a pas de cl ou cl non unique , l'insertion dpend de la position courante , mais par le RULE ( DBD ) il peut tre impos. ( par dfault LAST ) Vous pouvez imposer l'insertion ( command code F = first , L=last).

4.3.7.

Lecture d'une base HDAM.

SSAQUA = SSA qualifie et SSATYP=SSA non qualifie(sur racine les 2) IMSES FONC=GU,PCB=BASE,ZES=ZONEIO,BR1=NONTROUV,GB,SSA=SSAQUA IMSES FONC=GN,PCB=BASE,ZES=ZONEIO,BR1=NONTROUV,GB,SSA=SSATYP Attention en HDAM , les cles ne sont pas tries. (sauf si la routine est etudie pour)

4.3.8.

Chargement d'une base.

S'effectue par l'ordre ISRT , mais le PROCOPT du PSB doit tre 'L' ou 'LS' suivant le type de base.

80826262.doc

26/31

jj/01/OO

4.4.

STATUS CODE tester

*----------------------------------------------------------------------* ] ] S ] ] ] ] / ] FONCTIONS ] ] ] C ]---------------------- ] ] D E S C R I P T I O N ] O ] G ] G ] G ] R ] D ] I ] ] --------------------] D ] U ] N ] N ] E ] L ] S ] ] ] E ] ] ] P ] P ] T ] R ] ] ] ] ] ] ] L ] ] T ] ]-----------------------------------------]----]---]---]---]---]---]---] ] ] ] ] ] ] ] ] ] ] STATUS CODE SUR DATA BASE ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]-----------------------------------------]----]---]---]---]---]---]---] ] STATUS CODE = BLANC OPERATION REUSSIE ] ] X ] X ] X ] X ] X ] X ] ]-----------------------------------------]----]---]---]---]---]---]---] ] CHANGEMENT DE SEGMEMT NIVEAU SUPERIEUR ] GA ] ] X ] X ] ] ] ] ]-----------------------------------------]----]---]---]---]---]---]---] ] FIN DE BASE ] GB ] ] X ] ] ] ] ] ]-----------------------------------------]----]---]---]---]---]---]---] ] CLE NON TROUVEE ] GE ] X ] X ] ] ] ] ] ]-----------------------------------------] ]---]---]---]---]---]---] ] FIN DE FILIATION ] GE ] ] ] X ] ] ] ] ]-----------------------------------------] ]---]---]---]---]---]---] ] CLE NON TROUVEE ( SSA QUALIFIEE ) ] GE ] ] ] ] ] ] X ] ]-----------------------------------------]----]---]---]---]---]---]---] ] CHANGEMENT DE SEGEMENT MEME NIVEAU ] GK ] ] X ] X ] ] ] ] ]-----------------------------------------]----]---]---]---]---]---]---] ] CLE DEJA EXISTANTE ] II ] ] ] ] ] ] X ] ]-----------------------------------------]----]---]---]---]---]---]---] ] CLE DEJA EXISTANTE SUR INDEX SECONDAIRE ] NI ] ] ] ] ] ] X ] ]-----------------------------------------]----]---]---]---]---]---]---] ] ] ] ] ] ] ] ] ] ] STATUS CODE SUR IOPCB/ALTPCB ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]-----------------------------------------]----]---]---]---]---]---]---] ] STATUS CODE = BLANC OPERATION REUSSIE ] ] X ] X ] ] ] ] ] ]-----------------------------------------]----]---]---]---]---]---]---] ] PLUS DE MESSAGE EN ENTREE ] QC ] X ] ] ] ] ] ] ]-----------------------------------------]----]---]---]---]---]---]---] ] FIN DE MESSAGE ] QD ] ] X ] ] ] ] ] *----------------------------------------------------------------------* -NB TOUS LES STATUS CODE NON TESTES PROVOQUENT UN ABEND 123 LES FONCTIONS CHNG,PURG DOIVENT AVOIR UN CODE RETOUR A BLANC

80826262.doc

27/31

jj/01/OO

Tables des matires 1. Les diffrents types de S.G.B.D .................................................................................................................................................................... 2 1.1. Les bases de type hirarchique ...................................................................................................................................................... 2 1.2. Les bases de type relationnel ...................................................................................................................................................... 3 1.3. Les bases de type rseau ...................................................................................................................................................... 3 2. Les bases DL1 .................................................................................................................................................................... 4 2.1. Les diffrents types de bases DL1 ...................................................................................................................................................... 4 HSAM............................................................................................................................................4 2.2. La structure des segments ...................................................................................................................................................... 4 2.2.1. Le format Fixe ........................................................................................................................................ 4 2.2.2. Le format variable ........................................................................................................................................ 4 2.2.3. Vocabulaire ........................................................................................................................................ 5 2.3. Les bases DL1 assimils ...................................................................................................................................................... 6 2.3.1. Les bases de type HSAM ........................................................................................................................................ 6 2.3.2. Les bases de type SHSAM ........................................................................................................................................ 6 2.3.3. Les bases de type HISAM ........................................................................................................................................ 7 2.3.4. Les bases de type SHISAM ........................................................................................................................................ 7 2.3.5. Les base de type GSAM ........................................................................................................................................ 8 2.4. Les vrais bases DL1 ...................................................................................................................................................... 8 2.4.1. Les pointeurs DL1 ........................................................................................................................................ 8 2.4.1.1. Les pointeurs hirarchiques ......................................................................................................................... 8 2.4.1.2. Les pointeurs familiaux 80826262.doc 28/31 jj/01/OO

......................................................................................................................... 9 2.4.1.3. Mixage des pointeurs ......................................................................................................................... 9 2.4.1.4. Les pointeurs logiques ......................................................................................................................... 9 2.4.2. Les bases de type HDAM ........................................................................................................................................ 9 2.4.3. Les bases de type HIDAM ........................................................................................................................................ 11 2.5. Les bases Fath path ...................................................................................................................................................... 12 2.5.1. Les bases de type MSDB ........................................................................................................................................ 12 2.5.2. Les bases de type DEDB ........................................................................................................................................ 12 2.6. Les index ...................................................................................................................................................... 12 2.6.1. La structure d'un index ........................................................................................................................................ 12 2.6.2. Les index secondaires ........................................................................................................................................ 13 2.6.2.1. Changement de squence ......................................................................................................................... 13 2.6.2.2. Changement d'axe de la base : ......................................................................................................................... 13 2.7. Les bases de type logique ...................................................................................................................................................... 14 3. Les accs IMS/DC ou DB .................................................................................................................................................................... 16 3.1. Lien entre IMS et programme ...................................................................................................................................................... 16 3.2. Les types d'appel I.M.S ...................................................................................................................................................... 16 3.3. La codification des CALLs ...................................................................................................................................................... 16 3.4. La macro S.A.P d'accs IMS/DC ou IMS/DB ( IMSES ) ...................................................................................................................................................... 17 3.4.1. Format standard ........................................................................................................................................ 17 3.4.2. Format assembleur ( MONOPRIX) ........................................................................................................................................ 17 3.4.3. Format COBOL ( MONOPRIX ) 80826262.doc 29/31 jj/01/OO

........................................................................................................................................ 17 3.4.4. Signification des diffrents paramtres ........................................................................................................................................ 17 3.5. La macro S.A.P de description des SSA ( IMSSA ) ...................................................................................................................................................... 20 3.5.1. Formats standard ........................................................................................................................................ 20 3.5.1.1. SSA non qualifie ......................................................................................................................... 20 3.5.1.2. SSA qualifie ......................................................................................................................... 20 3.5.1.3. SSA non qualifie avec command code ......................................................................................................................... 20 3.5.1.4. SSA qualifie avec commande code ......................................................................................................................... 20 3.5.1.5. Le code oprateur ......................................................................................................................... 20 3.5.1.6. Les "Command code " ......................................................................................................................... 21 3.5.1.7. Tableau rcapitulatif des ordres et SSA ......................................................................................................................... 21 3.5.1.8. Les oprateurs boolens ......................................................................................................................... 21 3.5.2. Format MONOPRIX ........................................................................................................................................ 22 3.5.3. Format assembleur ........................................................................................................................................ 22 3.5.4. Format cobol ........................................................................................................................................ 22 3.5.5. Signification des diffrents paramtres ........................................................................................................................................ 22 4. Gestion dune base DL1 ( accs ) .................................................................................................................................................................... 24 4.1. Trois types de recherches ...................................................................................................................................................... 24 4.2. Trois types de mise jour ...................................................................................................................................................... 24 4.3. Exemples : ...................................................................................................................................................... 24 4.3.1. Lire une base de donne de A Z ........................................................................................................................................ 24 4.3.2. Lire en squentiel tous les dpendants d'un DBR 80826262.doc 30/31 jj/01/OO

........................................................................................................................................ 25 4.3.3. Lire tout un segment type pour une base. ........................................................................................................................................ 26 4.3.4. Mise jour d'une base ........................................................................................................................................ 26 4.3.5. Destruction d'un segment ( et de ses enfants ) ........................................................................................................................................ 26 4.3.6. Cration d'un segment ........................................................................................................................................ 26 4.3.6.1. Segment racine ......................................................................................................................... 26 4.3.6.2. Segment dpendant ......................................................................................................................... 26 4.3.7. Lecture d'une base HDAM. ........................................................................................................................................ 26 4.3.8. Chargement d'une base. ........................................................................................................................................ 26 4.4. STATUS CODE tester ...................................................................................................................................................... 27

80826262.doc

31/31

jj/01/OO