ESAT-DI
[LRE]
Cours CBL-85
page XV-1
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
I
II
III
IV
V
VI
VII
VIII
IX
X
XI
Cours de COBOL-85
L’organisation séquentielle-indexée
Chapître XV -
page 1
ESAT-DI
[LRE]
Cours CBL-85
page XV-2
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
XII
XIII
XIV
Cours de COBOL-85
L’organisation séquentielle-indexée
Chapître XV -
page 2
ESAT-DI
[LRE]
Cours CBL-85
page XV-57
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
XV
Les fichiers en organisation séquentielle indexée
XV.A Principe
XV.B
XV.C
Cours de COBOL-85
L’organisation séquentielle-indexée
Chapître XV -
page 57
ESAT-DI
[LRE]
page XV-58
CHAPÎTRE indexée
Cours CBL-85
Les fichiers en organisation séquentielle-
15
11/10/2009 11/10/2009
ANS85/m-focus
XV.D Vidage physique
XV.D.1
le format IDXFORMAT « 4 »
XV.D.1.1
LE FICHIER DES DONNEES :
structure du fichier des données schéma de principe :
LE FICHIER DES DONNEES
FILE HEADER RECORD
R.H
RECORD N°1
R.H
RECORD N°2
R.H
. . . RECORD N°2 +EVENTUELLEMENT
R.H R.H
RECORD SYSTEM RECORD SYSTEM +EVENTUELLEMENT
R.H
FREE SPACE RECORD
détails techniques : Le fichier des données d’un fichier séquentiel-indexé a le même format qu’un séquentiel en format variable (comme si dans la phrase SELECT on avait mis ORGANIZATION SEQUENTIAL ET RECORDING MODE V ou comme si on avait utilisé la directive de compilation CALLFH) : on peut d’ailleurs ne prendre que le fichier des données et le traiter comme un séquentiel en ignorant le fichier des index. Les articles sont supprimés logiquement (lors d’un DELETE , les champs ne sont pas mis à zéro binaire mais l’en-tête d’article indique que celui-ci a été effacé). L’espace libéré par les suppression est réutilisable : en format fixe , l’adresse des emplacements libres se trouvent dans un FREE SPACE RECORD dans le fichier des index. en format variable , l’information se trouve dans un article « système » dans le fichier des données. (=> qui a les 4 premiers bits de son en-tête à la valeur 0001 ou 0011). [NB: l’article FREE-SPACE pour les données et pour les index dans le fichier des index a le même format] En format variable , tous les (slots) créneaux ou zones disponibles ont une taille multiple de 4 bytes. Ces créneaux d’espace libre correspondent à des articles qui ont été supprimés. Tous les créneaux disponibles de même longueur sont gèrés ensemble. Chaque créneau disponible est chaîné au suivant [principe des listes chaînées] (il contient l’adresse du suivant de même longueur sur les 4 premiers bytes après l’en-tête d’article ; le dernier pointe sur l’adresse 0). L’adresse du premier élément pour chaque longueur de créneau diponible est rangée dans le DATA-FREE-SPACE-RECORD du fichier des données .
desription du DATA FREE SPACE RECORD
Cours de COBOL-85
offset
taille
contenu
0 2/4 6/8 N
4 4 4 4
en-tête d’article offset du premier créneau libre de 8 bytes. offset du premier créneau libre de 12 bytes offset du premier créneau libre de x*4 bytes
L’organisation séquentielle-indexée
Chapître XV -
page 58
ESAT-DI
[LRE]
Cours CBL-85
page XV-59
CHAPÎTRE indexée
Les fichiers en organisation séquentielle-
15
11/10/2009 11/10/2009
ANS85/m-focus
Remarques sur le fichier étudié On a pris , pour étudier le vidage physique , le fichier séquentiel-indexé suivant : environment division. input-output section. file-control. select fmodif assign to "c:\laf\cobol\indexe\modif.dat". select fcadres assign to "c:\laf\cobol\indexe\cadres.don" organization indexed access dynamic record key is btph alternate record key bnom with duplicates alternate record key bgrade with duplicates alternate record key bfonction with duplicates alternate record key bservice with duplicates alternate record key bsite with duplicates file status wst. DATA DIVISION. file section. fd fcadres. 1 benreg. 3 btph 3 bgrade 3 bnom. 5 bdeb-nom 5 3 bprenom 3 bfonction 3 bservice 3 bsite
pic xxxx. pic xxxx. pic pic pic pic pic pic
xx. x(23). x(20). x(30). x(30). x(20).
Il contient les informations concernant un annuaire téléphonique (n°de poste téléphonique = clé primaire ,grade,nom,prénom,fonction,service,site géographique). Au départ ,il contenait un certain nombre d’enregistrements (NB :ce jeu d’essai est différent de ceux étudiés dans les exemples du paragraphe C) ; on a supprimé les articles ayant pour clé primaire :3246,3552,3556,3558,3869,5203 et on a créé les articles 3411,5207,3201 puis on a édité le vidage physique. Implicitement en cobol micro-focus , il est en format BTRIEVE (IDXFORMAT« 4 »)
Cours de COBOL-85
L’organisation séquentielle-indexée
Chapître XV -
page 59
ESAT-DI
[LRE]
Cours CBL-85
page XV-60
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
Vidage physique du fichier des données
FILE-HEADER-RECORD = 128 bytes
secteur 0000000
0000(0000) 0016(0010) 0032(0020) 0048(0030) 0064(0040) 0080(0050) 0096(0060) 0112(0070)
307E000000000000 3535353332393937 35333239003E0002 0100000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000
3937313030383037 3130303830373535 0000000000000000 0085000000850000 0000000004000000 0000000000000000 000000004100202E 0000000000000000
0~......97100807 5553299710080755 5329.>.......... .........à...à.. ................ ................ ............A. . ................
caractère n° 0 sur une longueur de 4 : longueur du file-header caractère n°39 sur une longueur de 1 : organisation du fichier : 1=seq ; 2=indexed ; 3=relative caractère n° 41 sur une longueur de 1 : n° de routine de compression 0 pas de compression 1 cbldc001 2 à 127 reservé 128 à 255 n° de routine utilisateur caractère n° 43 sur une longueur de 1 : format du fichier 0=dedault 1=C-ISAM 2=LEVEL II COBOL 3 indexed file format utilisé par ce cobol 4=IDXFORMAT « 4 » caractère n°48 sur une longueur de 1 : recording mode : 0= format fixe ; 1= format variable caractères n°56 et 60 sur une longueur de 2 : taille maxi et minimum de l’article (ici = 85 = 133 bytes)
premier article
0128(0080) 0144(0090) 0160(00A0) 0176(00B0) 0192(00C0) 0208(00D0) 0224(00E0) 0240(00F0) 0256(0100) 0272(0110) 0288(0120) 0304(0130)
2085333234367363 4E2F444556494C4C 20202064616D6965 2020202020202073 7572206D696E6572 2020202020648274 2035382072742020 202020436573736F 8220202020202000 6A204A414F55454E 2020202020202020 7264202020202020
68204D4952414D4F 4520202020202020 6E6E652020202020 7570657276697365 7665202020202020 616368656D656E74 2020202020202020 6E2D73827669676E 4085333331306D61 2020202020202020 2020206265726E61 202020202020206F
à3246sch MIRAMO N/DEVILLE damienne supervise ur minerve détachement 58 rt Cesson-sévign é .@à3310ma j JAOUEN berna rd o
Chaque article a un en-tête sur 2 caractères (ici 2085 ou 4085 ) qui comprend sur les 4 premiers bits , la nature de l’enregistrement et sur les 12 suivants sa longueur. signification des 4 premiers bits de l’en-tête : « 1 » ou 0001 => « 2 » ou 0010 => « 3 » ou 0011 => « 4 » ou 0100 => « 5 » ou 0101 => « 6 » ou 0110 => « 7 » ou 0111 => « 8 » ou 1000 =>
0320(0140) Cours de COBOL-85
il s’agit d’un article système (pour format IDXFORMAT4 seulement) qui contient des informations sur les occurrences dupliquées dans le fichier des données. il s’agit d’un article effacé (disponible pour une nouvelle création) 2085 =>cet article n’existe plus article système Article utilisateur valide => 4085 =>cet article existe article utilisateur réduit (indexé seulement) : les 16 bits suivant immédiatement les données contiennent le nombre de caractères de padding à insérer avant l’article suivant. article pointeur (indexé seulement) article utilisateur référencé par un article pointeur. article utilisateur réduit référencé par un pointeur.
6666696369657220 6D20632073202020 L’organisation séquentielle-indexée
fficier m c s Chapître XV -
page 60
ESAT-DI
[LRE]
Cours CBL-85
page XV-61
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
0336(0150)
Cours de COBOL-85
2020202020202020 2020202020646761
L’organisation séquentielle-indexée
dga
Chapître XV -
page 61
ESAT-DI
[LRE]
Cours CBL-85
page XV-62
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
0352(0160) 0368(0170) 0384(0180) 0400(0190) 0416(01A0) 0432(01B0) 0448(01C0) 0464(01D0) 0480(01E0) 0496(01F0)
722F63732F73612F 2020202020202020 6E2D73827669676E 4085333332307031 2020202020202020 2020206D69636865 2020202020202062 656E2D6368656620 2020202020646761 7069612020202020
6361742020202020 202020436573736F 8220202020202080 20204144414D2020 2020202020202020 6C20202020202020 726F63686575722D 2020202020202020 722F63732F73612F 2020202020202020
r/cs/sa/cat
secteur 0000001 0000(0000) 202020436573736F 0016(0010) 8220202020202080 0032(0020) 74204C4142415420 0048(0030) 2020202020202020 0064(0040) 2020202020202020 0080(0050) 656C6C756C652065 0096(0060) 20636F6E74696E67 0112(0070) 722F63732F622E70 0128(0080) 2020202020202020 0144(0090) 6E2D73827669676E 0160(00A0) 4085333336326363 0176(00B0) 4D415254494E4F20 0192(00C0) 202020656D696C69 0208(00D0) 2020202020202073 0224(00E0) 746563686E697175 0240(00F0) 2020202020646761 0256(0100) 2020202020202020 0272(0110) 202020436573736F 0288(0120) 8220202020202080 0304(0130) 6A20414C4C41494E 0320(0140) 2020202020202020 0336(0150) 6574746520202020 0352(0160) 646A6F696E742061 0368(0170) 2E74202020202020 0384(0180) 722F63732F737420 0400(0190) 2020202020202020 0416(01A0) 6E2D73827669676E 0432(01B0) 4085333337356164 0448(01C0) 2020202020202020 0464(01D0) 2020206A65616E2D 0480(01E0) 2020202020202063 0496(01F0) 6963652067826E82
6E2D73827669676E 4085333332387367 2020202020202020 2020206572696320 2020202020202063 6666656374696673 656E742020646761 6572732020202020 202020436573736F 8220202020202080 6820414E4452452F 2020202020202020 656E6E6520202020 6572766963657320 6573202020202020 722F63732F737420 2020202020202020 6E2D73827669676E 4085333336336164 2020202020202020 2020206C6F756973 2020202020202061 6E74656E6E652073 2020202020646761 2020202020202020 202020436573736F 8220202020202002 63204C4154455552 2020202020202020 7069657272652020 6865662073657276 72616C2020202020
Cesson-sévign é Ç@à3328sg t LABAT eric c ellule effectifs contingent dga r/cs/b.pers Cesso n-sévigné Ç @à3362cch ANDRE/ MARTINO emilienne services techniques dgar/cs/st
secteur 0000002 0000(0000) 2020202020646761 0016(0010) 2020202020202020 0032(0020) 202020436573736F 0048(0030) 8220202020202020 0064(0040) 20204B41524D414E 0080(0050) 2020202020202020 0096(0060) 6C20202020202020 0112(0070) 6C6F6D6269657220 0128(0080) 2020202020202020 0144(0090) 722F63732F73672F 0160(00A0) 2020202020202020 0176(00B0) 6E2D73827669676E 0192(00C0) 4085333430326164 0208(00D0) 4945522020202020 0224(00E0) 202020726F6E616C 0240(00F0) 2020202020202063 0256(0100) 7461676573202020 0272(0110) 2020202020646766 0288(0120) 6D20202020202020 0304(0130) 202020436573736F 0320(0140) 8220202020202020 0336(0150) 632042454C4D4F4E 0352(0160) 2020202020202020 0368(0170) 6D616E75656C2020 0384(0180) 6F6E697465757220 0400(0190) 2020202020202020 0416(01A0) 202F63732F64732F 0432(01B0) 7320202020202020
722F63732F736720 2020202020202020 6E2D73827669676E 4085333337366776 4E20202020202020 20202064616E6965 2020202020202070 2020202020202020 2020202020646761 6167202020202020 202020436573736F 8220202020202020 63204C41564F4953 2020202020202020 6420202020202020 656C6C756C652073 2020202020202020 202F63732F626670 2020202020202020 6E2D73827669676E 4085333438376164 5445202020202020 2020206A65616E2D 202020202020206D 65706D7320202020 2020202020646766 64656D672F65706D 202020436573736F
Cours de COBOL-85
Cesso n-sévigné Ç @à3320p1 ADAM michel brocheuren-chef dgar/cs/sa/ pia
Cesson-sévign é Ç@à3363ad j ALLAIN louis ette a djoint antenne s .t dga r/cs/st Cesso n-sévigné . @à3375adc LATEUR jean-pierre chef serv ice général
dgar/cs/sg Cesson-sévign @à3376gv KARMANN danie l p lombier dga r/cs/sg/ag Cesso n-sévigné @à3402adc LAVOIS IER ronald cellule s tages dgf /cs/bfp m Cesson-sévign é @à3487ad c BELMONTE jeanmanuel m oniteur epms dgf /cs/ds/demg/epm s Cesso é
L’organisation séquentielle-indexée
Chapître XV -
page 62
ESAT-DI
[LRE]
Cours CBL-85
page XV-63
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus 0448(01C0) 0464(01D0) 0480(01E0) 0496(01F0)
Cours de COBOL-85
6E2D73827669676E 4085333532326164 2020202020202020 2020206D61726965
8220202020202020 6A204D4541552020 2020202020202020 2D7061756C652020
n-sévigné @à3522adj MEAU marie-paule
L’organisation séquentielle-indexée
Chapître XV -
page 63
ESAT-DI
[LRE]
Cours CBL-85
page XV-64
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
secteur 0000003 0000(0000) 2020202020202069 0016(0010) 757220737973748A 0032(0020) 2020202020646761 0048(0030) 2F72697461202020 0064(0040) 202020436573736F 0080(0050) 8220202020202020 0096(0060) 6A204D4144454320 0112(0070) 2020202020202020 0128(0080) 2020202020202020 0144(0090) 6E73747275637465 0160(00A0) 6D65732020202020 0176(00B0) 202F63732F64732F 0192(00C0) 2020202020202020 0208(00D0) 6E2D73827669676E 0224(00E0) 4085333533397363 0240(00F0) 2020202020202020 0256(0100) 2020207061747269 0272(0110) 2020202020202069 0288(0120) 7572206D74667020 0304(0130) 2020202020646766 0320(0140) 6472742F6D746670 0336(0150) 202020436573736F 0352(0160) 8220202020202020 0368(0170) 65204C4520444152 0384(0180) 2020202020202020 0400(0190) 636B202020202020 0416(01A0) 6E73747275637465 0432(01B0) 2020202020202020 0448(01C0) 202F63732F64732F 0464(01D0) 6561752020202020 0480(01E0) 6E2D73827669676E 0496(01F0) 2085333535367363
6E73747275637465 6D65732020202020 722F63732F647274 2020202020202020 6E2D73827669676E 4085333533376164 2020202020202020 202020616C61696E 2020202020202069 757220737973748A 2020202020646766 6472742F72697461 202020436573736F 8220202020202020 6820414C4C41494E 2020202020202020 636B202020202020 6E73747275637465 2020202020202020 202F63732F64732F 2020202020202020 6E2D73827669676E 208533353532636E 5A20202020202020 2020207061747269 2020202020202069 7572202020202020 2020202020646766 646D73692F726573 202020436573736F 8220202020202020 68204C4520444149
instructe ur systèmes dgar/cs/drt /rita Cesson-sévign é @à3537ad j MADEC alain i nstructeur systè mes dgf /cs/ds/drt/rita Cesso n-sévigné @à3539sch ALLAIN
secteur 0000004 0000(0000) 4E20202020202020 0016(0010) 2020206A65616E2D 0032(0020) 2020202020202069 0048(0030) 7572202020202020 0064(0040) 2020202020646766 0080(0050) 6472732F72656E73 0096(0060) 202020436573736F 0112(0070) 8220202020202020 0128(0080) 732044554649474E 0144(0090) 2020202020202020 0160(00A0) 6C20202020202020 0176(00B0) 6E73747275637465 0192(00C0) 2020202020202020 0208(00D0) 652F6C766C202020 0224(00E0) 2020202020202020 0240(00F0) 2020202020202020 0256(0100) 408533363434636E 0272(0110) 4C49455220202020 0288(0120) 2020206D61726365 0304(0130) 2020202020202069 0320(0140) 7572202020202020 0336(0150) 2020202020646766 0352(0160) 646D73692F737220 0368(0170) 202020436573736F 0384(0180) 8220202020202020 0400(0190) 63204D415254494E 0416(01A0) 2020202020202020 0432(01B0) 2020202020202020 0448(01C0) 6E73747275637465 0464(01D0) 2020202020202020 0480(01E0) 202F63732F64732F 0496(01F0) 2020202020202020
2020202020202020 6C75632020202020 6E73747275637465 2020202020202020 202F63732F64732F 2020202020202020 6E2D73827669676E 408533323031696E 4F55202020202020 2020206D61726365 2020202020202069 7572202020202020 2020202020326369 2020202020202020 2020204C6176616C 2020202020202020 65204C274855494C 2020202020202020 6C20202020202020 6E73747275637465 2020202020202020 202F63732F64732F 2020202020202020 6E2D73827669676E 4085333635306164 2020202020202020 2020207976657320 2020202020202069 7572202020202020 2020202020646766 646D73692F637073 202020436573736F
N
Cours de COBOL-85
patrick instructe ur mtfp dgf /cs/ds/ drt/mtfp Cesson-sévign é à3552cn e LE DARZ patri ck i nstructeur dgf /cs/ds/dmsi/res eau Cesso n-sévigné à3556sch LE DAI
ur
jean-luc instructe
dgf /cs/ds/ drs/rens Cesson-sévign é @à3201in s DUFIGNOU marce l i nstructeur 2ci e/lvl Laval @à3644cne L'HUIL LIER marcel instructe ur dgf /cs/ds/ dmsi/sr Cesson-sévign é @à3650ad c MARTIN yves i nstructeur dgf /cs/ds/dmsi/cps Cesso
L’organisation séquentielle-indexée
Chapître XV -
page 64
ESAT-DI
[LRE]
Cours CBL-85
page XV-65
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
secteur 0000005 0000(0000) 6E2D73827669676E 0016(0010) 4085333635316973 0032(0020) 5545202020202020 0048(0030) 2020206A65616E2D 0064(0040) 2020202020202069 0080(0050) 7572202020202020 0096(0060) 2020202020646766 0112(0070) 646D73692F637073 0128(0080) 202020436573736F 0144(0090) 8220202020202020 0160(00A0) 61204C4156414C4C 0176(00B0) 2020202020202020 0192(00C0) 6C20202020202020 0208(00D0) 6E73747275637465 0224(00E0) 2020202020202020 0240(00F0) 202F63732F64732F 0256(0100) 2020202020202020 0272(0110) 6E2D73827669676E 0288(0120) 4085333639356363 0304(0130) 2020202020202020 0320(0140) 202020636C617564 0336(0150) 2020202020202063 0352(0160) 696F6E2061707061 0368(0170) 7375726520646766 0384(0180) 2F646D2020202020 0400(0190) 202020436573736F 0416(01A0) 8220202020202020 0432(01B0) 6520414C4C414E20 0448(01C0) 2020202020202020 0464(01D0) 2020202020202020 0480(01E0) 656374696F6E2061 0496(01F0) 206465206D657375
8220202020202020 20204C4146415247 2020202020202020 7069657272652020 6E73747275637465 2020202020202020 202F63732F64732F 2020202020202020 6E2D73827669676E 4085333637316362 4152442020202020 2020206D69636865 2020202020202069 7572202020202020 2020202020646766 64656D672F65616F 202020436573736F 8220202020202020 652042454E4F4954 2020202020202020 6520202020202020 6865662D73656374 7265696C73206D65 202F63732F646667 2020202020202020 6E2D73827669676E 4085333639366174 2020202020202020 2020207976616E20 2020202020202073 7070617265696C73 7265202020646766
secteur 0000006 0000(0000) 202F63732F646667 0016(0010) 2020202020202020 0032(0020) 6E2D73827669676E 0048(0030) 408535323037696E 0064(0040) 4E41524420202020 0080(0050) 2020206A756C6573 0096(0060) 2020202020202069 0112(0070) 7572202020202020 0128(0080) 2020202020646667 0144(0090) 736F202020202020 0160(00A0) 202020436573736F 0176(00B0) 8220202020202020 0192(00C0) 732044414E4C4550 0208(00D0) 2020202020202020 0224(00E0) 2020202020202020 0240(00F0) 6E73747275637465 0256(0100) 2020202020202020 0272(0110) 722F6C766C2F7361 0288(0120) 2020202020202020 0304(0130) 2020202020202020 0320(0140) 4085353230366161 0336(0150) 5320202020202020 0352(0160) 2020206973616265 0368(0170) 2020202020202073 0384(0180) 617420827461742D 0400(0190) 2020202020636474 0416(01A0) 2020202020202020 0432(01B0) 2020204C6176616C 0448(01C0) 2020202020202020 0464(01D0) 6820414E47494241 0480(01E0) 2020202020202020 0496(01F0) 636B202020202020
2F646D2020202020 202020436573736F 8220202020202020 732047524F504947 2020202020202020 2020202020202020 6E73747275637465 2020202020202020 2F63732F64652F64 2020202020202020 6E2D73827669676E 408533343131696E 414E202020202020 202020826D696C65 2020202020202069 7572202020202020 2020202020646761 2F63657220202020 2020204C6176616C 2020202020202018 2020414D42524F49 2020202020202020 6C6C652020202020 6563728274617269 6D616A6F72202020 202F6C766C202020 2020202020202020 2020202020202020 4085353236317363 554C542020202020 2020207061747269 2020202020202063
Cours de COBOL-85
n-sévigné @à3651is LAFARG UE jean-pierre instructe ur dgf /cs/ds/ dmsi/cps Cesson-sévign é @à3671cb a LAVALLARD miche l i nstructeur dgf /cs/ds/demg/eao Cesso n-sévigné @à3695cce BENOIT claude chef-sect ion appareils me sure dgf /cs/dfg /dm Cesson-sévign é @à3696at e ALLAN yvan s ection appareils de mesure dgf
/cs/dfg/dm
Cesso n-sévigné @à5207ins GROPIG NARD jules instructe ur dfg/cs/de/d so Cesson-sévign é @à3411in s DANLEPAN émile i nstructeur dga r/lvl/sa/cer Laval . @à5206aa AMBROI S isabelle secrétari at état-major cdt /lvl Laval
@à5261sc h ANGIBAULT patri ck c
L’organisation séquentielle-indexée
Chapître XV -
page 65
ESAT-DI
[LRE]
Cours CBL-85
page XV-66
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
secteur 0000007 0000(0000) 656E747265206E6F 0016(0010) 2020202020202020 0032(0020) 652F6C766C202020 0048(0030) 2020202020202020 0064(0040) 2020202020202020 0080(0050) 4085353236337367 0096(0060) 4F4E202020202020 0112(0070) 2020207468696572 0128(0080) 2020202020202063 0144(0090) 64616C2033202020 0160(00A0) 2020202020326369 0176(00B0) 2020202020202020 0192(00C0) 2020204C6176616C 0208(00D0) 2020202020202020 0224(00E0) 6A20414E454E2020 0240(00F0) 2020202020202020 0256(0100) 636B202020202020 0272(0110) 8272616E74206365 0288(0120) 2020202020202020 0304(0130) 722F6C766C2F7361 0320(0140) 2020202020202020 0336(0150) 2020202020202020 0352(0160) 4085353336346164 0368(0170) 2020202020202020 0384(0180) 2020206A65616E2D 0400(0190) 2020202020202063 0416(01A0) 6965722072697461 0432(01B0) 2020202020646761 0448(01C0) 2020202020202020 0464(01D0) 2020204C6176616C 0480(01E0) 2020202020202020 0496(01F0) 68204C4520424F55
64616C2031202020 2020202020326369 2020202020202020 2020204C6176616C 2020202020202020 74204D4552434552 2020202020202020 7279202020202020 656E747265206E6F 2020202020202020 652F6C766C202020 2020202020202020 2020202020202020 4085353333306164 2020202020202020 2020207061747269 2020202020202067 72636C6520202020 2020202020646761 2F63657220202020 2020204C6176616C 2020202020202020 6320414E44524549 2020202020202020 6672616E876F6973 686566206174656C 2020202020202020 722F6C766C2F7374 2020202020202020 2020202020202020 4085353337346363 42454E4E45432020
entre nodal 1
secteur 0000008 0000(0000) 2020202020202020 0016(0010) 696E652020202020 0032(0020) 6563748274616972 0048(0030) 72732067826E8272 0064(0040) 722F6C766C2F6167 0080(0050) 2020202020202020 0096(0060) 2020202020202020 0112(0070) 4085353432386164 0128(0080) 2020202020202020 0144(0090) 2020206D61726365 0160(00A0) 2020202020202069 0176(00B0) 7572206964656E74 0192(00C0) 2020202020646766 0208(00D0) 6720202020202020 0224(00E0) 2020204C6176616C 0240(00F0) 2020202020202001 0256(0100) 7420414E47494241 0272(0110) 2020202020202020 0288(0120) 6520202020202020 0304(0130) 726D757269657220 0320(0140) 2020202020202020 0336(0150) 202F6C766C202020 0352(0160) 2020202020202020 0368(0170) 2020202020202020 0384(0180) 4085353433306C63 0400(0190) 4920202020202020 0416(01A0) 202020616C61696E 0432(01B0) 2020202020202063 0448(01C0) 6E6E652064697669 0464(01D0) 6C6F69202064656D 0480(01E0) 672F64656D702F66 0496(01F0) 2020204C6176616C
202020636C617564 2020202020202073 65206174656C6965 6175782020646761 2020202020202020 2020204C6176616C 2020202020202020 6320414E44524520 2020202020202020 6C20202020202020 6E73747275637465 2E206C6174746120 202F6C766C2F6466 2020202020202020 2020202020202020 4085353536377367 5544202020202020 2020207069657272 2020202020202061 2020202020202020 202020202075636C 2020202020202020 2020204C6176616C 2020202020202020 6C20434143494F4C 2020202020202020 2020202020202020 68656620616E7465 73696F6E20656D70 702F6C766C2F6466 6578612020202020 2020202020202020
claud ine s ectétaire atelie rs généraux dga r/lvl/ag Laval
Cours de COBOL-85
2ci
e/lvl
Laval
@à5263sgt MERCER ON thierry centre no dal 3 2cie/lvl Laval
@à5330ad
j ANEN
patri ck g érant cercle dga r/lvl/sa/cer Laval @à5364adc ANDREI jean-françois chef atel ier rita dgar/lvl/st Laval
@à5374cc h LE BOUBENNEC
@à5428adc ANDRE marcel instructe ur ident. latta dgf /lvl/df g Laval .@à5567sg t ANGIBAUD pierr e a rmurier ucl /lvl Laval @à5430lcl CACIOL I alain chef ante nne division emp loi demp/lvl/df g/demp/fexa Laval
L’organisation séquentielle-indexée
Chapître XV -
page 66
ESAT-DI
[LRE]
Cours CBL-85
page XV-67
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
secteur 0000009 0000(0000) 2020202020202080 0016(0010) 32204341494C4C45 0032(0020) 2020202020202020 0048(0030) 7264202020202020 0064(0040) 6865662064652063 0080(0050) 6120202020202020 0096(0060) 2F63732F64732F64 0112(0070) 2020202020202020 0128(0080) 6E2D73827669676E 0144(0090) 4085333435306C63 0160(00A0) 2020202020202020 0176(00B0) 2020206265727472 0192(00C0) 2020202020202063 0208(00D0) 696F6E20736F7573 0224(00E0) 7273202020646667 0240(00F0) 736F202020202020 0256(0100) 202020436573736F 0272(0110) 8220202020202020 0288(0120) 0000000000000000 0304(0130) 0000000000000000 0320(0140) 0000000000000000 0336(0150) 0000000000000000 0352(0160) 0000000000000000 0368(0170) 0000000000000000 0384(0180) 0000000000000000 0400(0190) 0000000000000000 0416(01A0) 0000000000000000 0432(01B0) 0000000000000000 0448(01C0) 0000000000000000 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
Cours de COBOL-85
4085333531306970 2020202020202020 2020206265726E61 2020202020202063 6F75727320726974 2020202020646667 72742F7269746120 202020436573736F 8220202020202020 6C2043414C494E45 2020202020202020 616E642020202020 6474206469766973 2D6F666669636965 2F63732F64652F64 2020202020202020 6E2D73827669676E 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000
Ç@à3510ip 2 CAILLE berna rd c hef de cours rit a dfg /cs/ds/drt/rita Cesso n-sévigné @à3450lcl CALINE bertrand cdt divis ion sous-officie rs dfg/cs/de/d so Cesson-sévign é ........ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................
L’organisation séquentielle-indexée
Chapître XV -
page 67
ESAT-DI
[LRE]
page XV-68
CHAPÎTRE indexée
Cours CBL-85
Les fichiers en organisation séquentielle-
15
11/10/2009 11/10/2009
ANS85/m-focus
XV.D.1.2
LE FICHIER DES INDEX
LE FICHIER DES INDEX FILE HEADER RECORD
KEYINFORMATION RECORD N°1
Free space record pour les données
KEY I R N°2
Free space record pour les index
arbre binaire pour une seule clé
KEYI R N°J
ROOT INDEX NODE RECORD
NODE RECORD
NODE RECORD
node de dernier niveau
node de dernier niveau
NODE RECORD
NODE RECORD
node de dernier niveau
node de dernier niveau
NODE RECORD
node de dernier niveau
node de dernier niveau
NODE RECORD
node de dernier niveau
node de dernier niveau
dans ce type de node , on trouve à côté de la valeur de la clé , l'adresse dans le fichier des données de l'article cherché
decription du schéma : Chaque fichier (y compris le fichier des données) a toujours un bloc en-tête nommé « FILE-HEADER RECORD » contenant des informations générales sur le fichier. Dans ce bloc en-ête , on trouve entre autres , l’adresse de l’article « KEY-INFORMATION » (il peut y en avoir plusieurs si on a beaucoup de clés) : celui-ci contient toutes les données utiles sur les clés (primaire et secondaires). On trouve également , dans le file-header record , l’adresse de l’ article « FREE SPACE RECORD » pour le fichier des données et l’adresse de l’ article « FREE SPACE RECORD » pour le fichier des index :qui indiquent les emplacements libres dans leur fichier respectif. Dans le KEY-INFORMATION record , il y a une entrée par clé qui contient notamment l’adresse du ROOT-NODE-RECORD (noeud de plus haut niveau par lequel il faudra passer pour effectuer une recherche avec cette clé). Il peut n’y avoir qu’un niveau de node dans ce cas le ROOT-NODE-RECORD est à la fois un noeud de haut niveau et un noeud de plus bas niveau (LEAF-NODE) mais s’il y a beaucoup de valeurs de clé , celles-ci sont accessibles par l’intermédiaire d’une succession d’articles NODE organisés en arbre binaire (B-TREE). Dans chaque article NODE , on trouve (par dichotomie) l’adresse du RECORD-NODE suivant qui gère la valeur de clé cherchée : quand on arrive sur le noeud de plus bas niveau (LEAF-NODE) on trouve l’information cherchée , c’est-à-dire l’adresse dans le fichier des données de l’article qui possède cette valeur de clé. Cours de COBOL-85
L’organisation séquentielle-indexée
Chapître XV -
page 68
ESAT-DI
[LRE]
Cours CBL-85
page XV-69
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
étude détaillée du vidage physique LE FILE-HEADER RECORD
taille du file-header-record (sans le bit 1 ) => 3FE = (1022)10
secteur 0000000 0000(0000) 33FE000000000000 3937313030383037 0016(0010) 3535353332393938 3033303931363433 0032(0020) 34393735003E0002 0000000300000000 0048(0030) 0000000000000000 0085000000850000 0064(0040) 0000000000000000 0000000004000000 0080(0050) 0000000000000000 0000000000000000 0096(0060) 0000000000000000 000000044100202E 0112(0070) 4100202E00000000 0000000000003C00 0128(0080) 0000000000001318 0202040400060002 0144(0090) 0000000000000400 0000000000003800 0160(00A0) 0000000000000000 00000000000003FE nbre de clés=6 0176(00B0) 0000000000000000 0000000000000000 0192(00C0) 0000000000000000 0000000000000000 0208(00D0) 0000000000000000 0000000000000000 = (1024)10 = adresse du0000000000000000 0224(00E0) 400 0000000000000000 RECORD KEY 0000000000000000 0240(00F0) premier 0000000000000000 0256(0100) INFORMATION 0000000000000000 0000000000000000 0272(0110) 0000000000000000 0000000000000000 0288(0120) 0000000000000000 0000000000000000 0304(0130) 0000000000000000 0000000000000000 0320(0140) 0000000000000000 0000000000000000 0336(0150) 0000000000000000 0000000000000000 0352(0160) 3800=adresse 0000000000000000 du FREE 0000000000000000 0368(0170) SPACE 0000000000000000 RECORD pour 0000000000000000 0384(0180) les0000000000000000 0000000000000000 données. longueur d’un article 0400(0190) le0000000000000000 0000000000000000 00000000 suivant (NODE) sur le fichier des 0416(01A0) encadré 0000000000000000 0000000000000000 concerne le index 0432(01B0) FREE 0000000000000000 SPACE RECORD 0000000000000000 0448(01C0) pour 0000000000000000 les index => il n’y 0000000000000000 0464(01D0) en0000000000000000 0000000000000000 a pas. 0480(01E0) 0000000000000000 0000000000000000 0496(01F0) 0000000000000000 0000000000000000
3_......97100807 5553299803091643 4975.>.......... 02 => séquentiel indexé .........à...à.. ................ ................ ............A. . A. ...........<. 3c00=adr.fin logique du fichier des index ................ 1318=adr. fin logique du fichier des données ..............8. ..............._ o ou 1 pour les ................ exemple : fichiers ................ 3c00=(15360)10 ; IDXFORMAT4. ................ 15360 /512 = 30 reste 0 Le 02 qui suit = ................ => la fin du fichier se trouve nbre de caracatères ................ secteur 30 offset 0. utilisés pour ................ compter les ................ doublons.(ici 2 ................ bytes) ................ ................ ................ ............... . ................ .. .............. ................ ................ ................ ................ ................ ................ ................
secteur 0000001 0000(0000) 0000000000000000 0016(0010) 0000000000000000 0032(0020) 0000000000000000 0048(0030) 0000000000000000 0064(0040) 0000000000000000 0080(0050) 0000000000000000 0096(0060) 0000000000000000 0112(0070) 0000000000000000 0128(0080) 0000000000000000 0144(0090) 0000000000000000 0160(00A0) 0000000000000000 0176(00B0) 0000000000000000 0192(00C0) 0000000000000000 0208(00D0) 0000000000000000 0224(00E0) 0000000000000000 0240(00F0) 0000000000000000 0256(0100) 0000000000000000 0272(0110) 0000000000000000 0288(0120) 0000000000000000 0304(0130) 0000000000000000 0320(0140) 0000000000000000 0336(0150) 0000000000000000 0352(0160) 0000000000000000 0368(0170) 0000000000000000 0384(0180) 0000000000000000 0400(0190) 0000000000000000 0416(01A0) 0000000000000000 0432(01B0) 0000000000000000 0448(01C0) 0000000000000000 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................
Cours de COBOL-85
0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000
L’organisation séquentielle-indexée
Chapître XV -
page 69
ESAT-DI
[LRE]
page XV-70
CHAPÎTRE indexée
Cours CBL-85
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
LE KEY-INFORMATION RECORD adresse du KEY INFORMATION RECORD suivant (ici il n’y en a pas) secteur 0000002
0000(0000) 0016(0010) 0032(0020) 0048(0030) 0064(0040) 0080(0050)
004E00000000000C 0000000C00000C00 0000100000800400 00801E003500000C 5300000C00001C00 0000000000000000
0000080000000400 008019000800000C 0400000C00001400 0000180000801E00 0080140071000000 0000000000000000
.N.............. .........Ç...... .....Ç.......... .Ç..5........Ç.. S........Ç..q... ................
004E en binaire = 0000 0000 0100 1110 = 4E = (78)10 (= les bits 1 à 14) indique la fin de la dernière clé. (le bit 1 = bit de sécurité à 0) à partir du 7 ème caractère ,il y a une entrée par clé (la clé primaire étant toujours la première). La longueur d’une entrée n’est pas fixée définitivement (elle dépend notamment de nature de la clé). ici l’entrée-1 => clé primaire contient la partie grisée : .
000C
longueur de l’entrée = 12 c
00000800
adresse du ROOT NODE =2048 =>secteur 4 carac n° 0
0004 0 000 0000 0000 0100 longueur de la clé
00
0004000000
0=>compression des doubles key-component-block 1=> des carac de début 2=> des espaces de fin
0000
00
adresse de la clé à l’intérieur de l’article
type de compposant
[NB :si c’est une split-key il y a 1 component-block par composant]
0=> doubles interdits ; 1 => autorisés 0096(0060) 0112(0070) 0128(0080) 0144(0090) 0160(00A0) 0176(00B0) 0192(00C0) . . . 0400(0190) 0416(01A0) 0432(01B0) 0448(01C0) 0464(01D0) 0480(01E0) 0496(01F0)
0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 . . . . . . 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000
secteur 0000003 0000(0000) 0000000000000000 0016(0010) 0000000000000000 . . . 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
Cours de COBOL-85
0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 . . . . . . 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000
................ ................NB : la table des entrées contient toujours ................ la clé primaire en premier puis ................ les clés secondaires dans l’ordre ................ où elles ont été créées. ................ ................
0000000000000000 0000000000000000
................ ................
0000000000000000 0000000000000000 00000000FF7E0000
................ ................ ............_~..
................ ................ ................ ................ ................ ................ ................
L’organisation séquentielle-indexée
à la fin du RECORD KEY INFORMATION
Chapître XV -
page 70
ESAT-DI
[LRE]
page XV-71
CHAPÎTRE indexée
Cours CBL-85
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
les nodes records Chaque clé est indépendante et a sa propre structure en arbre. La taille d’un article NODE est par défaut 1024 bytes (mais celà peut changer selon la taille de la plus grande clé : si celle-ci-a une taille > 238, le node est sur 4096 c.; on peut également fixer la taille du node-record à l’aide de la variable d’environnement XFHNODE).
1 sécurité
000 0001 0000 0010 adresse sur la fin de la dernière clé =102=25810 première entrée (détaillée ci-dessous)
secteur 0000004
0000(0000) 0016(0010) 0032(0020) 0048(0030) 0064(0040) 0080(0050) 0096(0060) 0112(0070) 0128(0080) 0144(0090) 0160(00A0) 0176(00B0) 0192(00C0) 0208(00D0) 0224(00E0) 0240(00F0) 0256(0100)
8102333230310000 0108333332300000 0218333336320000 0328333337350000 0438333430320000 0CB8333435300000 0548333531300000 05D0333533370000 06E0333634340000 0988333635310000 0A98333639350000 0BA8353230360000 0C30353236310000 0E50353333300000 0F60353337340000 1070353433300000 10F8000000000000
0878333331300000 0190333332380000 02A0333336330000 03B0333337360000 04C0333431310000 1290333438370000 1208333532320000 0658333533390000 0900333635300000 0A10333637310000 0B20333639360000 0D40353230370000 0DC8353236330000 0ED8353336340000 0FE8353432380000 1180353536370000 0000000000000000
33 32 30 31 valeur de la clé
ü.3201...x3310.. ..3320...É3328.. ..3362...á3363.. .(3375..._3376.. .83402...+3411.. .+3450...É3487.. .H3510....3522.. .-3537...X3539.. ._3644....3650.. .ê3651....3671.. .ÿ3695... 3696.. .¿5206...@5207.. .05261...+5263.. .P5330...+5364.. .`5374..._5428.. .p5430...Ç5567.. .°..............
00 00 08 78 optionnel (2 carac. si les doubles sont autorisés) =n° de doubles
adresse des données si on est sur un LEAF-NODE (31 bits) ou adresse du node inférieur 0 000 0000 0000 0000 0000 1000 0111 1000
ici , on est sur un LEAF-NODE (noeud de plus bas niveau) malgré que celui-ci soit un ROOT => 878=216810 = adresse dans le fichier des données ; 2168 /512 = 4 reste 120 => l’article se trouve au caractère 120 du secteur 4
0272(0110) 0288(0120) . . 0304(0130) 0496(01F0)
0000000000000000 0000000000000000 0000000000000000 0000000000000000
................ ................
0000000000000000 0000000000000000 0000000000000000 0000000000000000
................ ................
secteur 0000005 0000(0000) 0000000000000000 0000000000000000 . .
1 000 0000 bit 7 : security flag ................
bit 0 à 6 : nature du NODE 000 0000 => LEAF NODE
numéro d’index (0 pour clé prim.)
0480(01E0)
[caractérise une clé] 0000000000000000 0000000000000000
0496(01F0) Cours de COBOL-85
................
0000000000000000 0000000000800000 L’organisation séquentielle-indexée
.............Ç.. Chapître XV -
page 71
ESAT-DI
[LRE]
Cours CBL-85
page XV-72
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus secteur 0000006 0000(0000) 80404C274855494C 0016(0010) 2020202020202020 0032(0020) 00FFFFFFFFFFFFFF 0048(0030) FFFFFFFFFFFFFFFF 0064(0040) 0000000000000000 0080(0050) 0000000000000000 . . . . 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
4C49455220202020 2020200001000030 FFFFFFFFFFFFFFFF FFFFFFFF00003400 0000000000000000 0000000000000000 . . 0000000000000000 0000000000000000 0000000000000000
Ç@L'HUILLIER ....0 ._______________ ____________..4. ................ ................
secteur 0000007 0000(0000) 0000000000000000 0016(0010) 0000000000000000 . . . . 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
0000000000000000 0000000000000000 . . 0000000000000000 0000000000000000 0000000001810000
................ ................
secteur 0000008 0000(0000) 0142616120200001 0016(0010) 0001000003B06164 0032(0020) 6164632000030000 0048(0030) 0000098861646320 0064(0040) 6320000700001070 0080(0050) 05D061646A200002 0096(0060) 000300000ED86164 0112(0070) 6174652000010000 0128(0080) 00000A9863636520 0144(0090) 68200001000002A0 0160(00A0) 0FE8636E65200002 0176(00B0) 000100000438696E 0192(00C0) 696E732000020000 0208(00D0) 0000087869703220 0224(00E0) 2020000100000A10 0240(00F0) 11806C636C200002 0256(0100) 0001000001087031 0272(0110) 7363682000020000 0288(0120) 00000DC873677420 0304(0130) 7420000200000E50 0320(0140) 10F8000000000000 . . . . . . . . . 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
00000D4061646320 63200002000004C0 0548616463200005 000600000F606164 61646A2000010000 0000065861646A20 6A20000400000328 0BA8636261200001 000100000B206363 6363682000020000 0000090067762020 7320000100000CB8 0C30696E73200003 0001000012086973 6C636C2000010000 000012906D616A20 2020000100000190 06E0736368200004 0001000002187367 7367742000030000 0000000000000000 . . . . . . . . . 0000000000000000 0000000000000000
.Baa .....@adc ....._adc .....+ adc .....Hadc .. ...êadc .....`ad c .....padj .... .-adj .....Xadj .....+adj .....( ate .....¿cba .. ...ÿcce ..... cc h .....ácch .... ._cne ......gv .....8ins .....+ ins .....0ins .. ...xip2 ......is ......lcl .... .Çlcl .....Émaj ......p1 .....É sch ....._sch .. ...+sgt ......sg t .....Psgt .... .°.............. . . . ................ ................
secteur 0000009 0000(0000) 0000000000000000 0016(0010) 0000000000000000 0032(0020) 0000000000000000 . . . . 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
0000000000000000 0000000000000000 0000000000000000 . . 0000000000000000 0000000000000000 0000000002000000
................ ................ ................
secteur 0000010 0000(0000) 804A696E73747275 0016(0010) 2020202020202020 0032(0020) 000400002000FFFF 0048(0030) FFFFFFFFFFFFFFFF 0064(0040) FFFFFFFFFFFF0000 0080(0050) 0000000000000000 . . . . 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
6374657572202020 2020202020202020 FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 2400000000000000 0000000000000000 . . 0000000000000000 0000000000000000 0000000000000000
ÇJinstructeur
Cours de COBOL-85
................ ................ ................
................ ................ .............ü..
................ ................ ................
.... .__________ ________________ ______..$....... ................ ................ ................ ................
L’organisation séquentielle-indexée
Chapître XV -
page 72
ESAT-DI
[LRE]
Cours CBL-85
page XV-73
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus secteur 0000011 0000(0000) 0000000000000000 0016(0010) 0000000000000000 0032(0020) 0000000000000000 . . . . 0448(01C0) 0000000000000000 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
0000000000000000 0000000000000000 0000000000000000 . . 0000000000000000 0000000000000000 0000000000000000 0000000003810000
................ ................ ................
secteur 0000012 0000(0000) 804A646766202F63 0016(0010) 2020202020202020 0032(0020) 000100002800FFFF 0048(0030) FFFFFFFFFFFFFFFF 0064(0040) FFFFFFFFFFFF0000 0080(0050) 0000000000000000 0096(0060) 0000000000000000 0112(0070) 0000000000000000 . . . . 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
732F6266706D2020 2020202020202020 FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 2C00000000000000 0000000000000000 0000000000000000 0000000000000000 . . 0000000000000000 0000000000000000
ÇJdgf /cs/bfpm
secteur 0000013 0000(0000) 0000000000000000 0016(0010) 0000000000000000 0032(0020) 0000000000000000 . . . . 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
0000000000000000 0000000000000000 0000000000000000 . . 0000000000000000 0000000000000000 0000000004810000
................ ................ ................
secteur 0000014 0000(0000) 8342436573736F6E 0016(0010) 2020202020200002 0032(0020) 6F6E2D7382766967 0048(0030) 0003000001904365 0064(0040) 69676E8220202020 0080(0050) 436573736F6E2D73 0096(0060) 2020202000050000 0112(0070) 2D73827669676E82 0128(0080) 0000032843657373 0144(0090) 6E82202020202020 0160(00A0) 73736F6E2D738276 0176(00B0) 2020000800000438 0192(00C0) 827669676E822020 0208(00D0) 04C0436573736F6E 0224(00E0) 202020202020000A 0240(00F0) 6F6E2D7382766967 0256(0100) 000B000005D04365 0272(0110) 69676E8220202020 0288(0120) 436573736F6E2D73 0304(0130) 20202020000D0000 0320(0140) 2D73827669676E82 0336(0150) 0000090043657373 0352(0160) 6E82202020202020 0368(0170) 73736F6E2D738276 0384(0180) 2020001300000A10 0400(0190) 827669676E822020 0416(01A0) 0A98436573736F6E 0432(01B0) 2020202020200015 0448(01C0) 6F6E2D7382766967 0464(01D0) 001600000BA84365 0480(01E0) 69676E8220202020 0496(01F0) 436573736F6E2D73
2D73827669676E82 0000010843657373 6E82202020202020 73736F6E2D738276 2020000400000218 827669676E822020 02A0436573736F6E 2020202020200006 6F6E2D7382766967 0007000003B04365 69676E8220202020 436573736F6E2D73 2020202000090000 2D73827669676E82 0000054843657373 6E82202020202020 73736F6E2D738276 2020000C00000658 827669676E822020 06E0436573736F6E 2020202020200011 6F6E2D7382766967 0012000009884365 69676E8220202020 436573736F6E2D73 2020202000140000 2D73827669676E82 00000B2043657373 6E82202020202020 73736F6E2D738276 2020001800001208 827669676E822020
âBCesson-sévigné ......Cess on-sévigné .....ÉCesson-sév igné ...... Cesson-sévigné .....áCesson -sévigné .. ...(Cesson-sévig né ....._Ce sson-sévigné .....8Cesson-s évigné .... .+Cesson-sévigné .....HCess on-sévigné .....-Cesson-sév igné .....X Cesson-sévigné ....._Cesson -sévigné .. ....Cesson-sévig né .....êCe sson-sévigné ......Cesson-s évigné .... .ÿCesson-sévigné ..... Cess on-sévigné .....¿Cesson-sév igné ...... Cesson-sévigné
Cours de COBOL-85
................ ................ ................ .............ü..
....(.__________ ________________ ______..,....... ................ ................ ................ ................ ................
................ ................ .............ü..
L’organisation séquentielle-indexée
Chapître XV -
page 73
ESAT-DI
[LRE]
Cours CBL-85
page XV-74
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus secteur 0000015 0000(0000) 2020202000190000 0016(0010) 2D73827669676E82 0032(0020) 00000C304C617661 0048(0030) 2020202020202020 0064(0040) 76616C2020202020 0080(0050) 2020000300000DC8 0096(0060) 2020202020202020 0112(0070) 0E504C6176616C20 0128(0080) 2020202020200005 0144(0090) 6C20202020202020 0160(00A0) 000600000F604C61 0176(00B0) 2020202020202020 0192(00C0) 4C6176616C202020 0208(00D0) 2020202000080000 0224(00E0) 2020202020202020 0240(00F0) 000010F84C617661 0256(0100) 2020202020202020 0272(0110) 76616C2020202020 0288(0120) 2020000B00000CB8 0304(0130) 2020202020202020 0320(0140) 0878000000000000 0336(0150) 0000000000000000 0352(0160) 0000000000000000 . . . . . . . . . 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
1290436573736F6E 202020202020001A 6C20202020202020 000200000D404C61 2020202020202020 4C6176616C202020 2020202000040000 2020202020202020 00000ED84C617661 2020202020202020 76616C2020202020 2020000700000FE8 2020202020202020 10704C6176616C20 2020202020200009 6C20202020202020 000A000011804C61 2020202020202020 4C6176616C202020 20202020000C0000 0000000000000000 0000000000000000 0000000000000000 . . . . . . . . . 0000000000000000 0000000005800000
.....ÉCesson -sévigné .. ...0Laval .....@La val .....+Laval .... .PLaval .....+Lava l .....`Laval ....._ Laval .....pLaval .. ...°Laval .....ÇLa val .....+Laval .... .x.............. ................ ................ . . . ................ .............Ç..
secteur 0000016 0000(0000) 821E61646A6F696E 0016(0010) 6520732E74202020 0032(0020) 0001000003286172 0048(0030) 2020202020202020 0064(0040) 2020202000010000 0080(0050) 75722D656E2D6368 0096(0060) 2020202020202020 0112(0070) 7420646976697369 0128(0080) 6F66666963696572 0144(0090) 129063656C6C756C 0160(00A0) 69667320636F6E74 0176(00B0) 0001000002186365 0192(00C0) 6167657320202020 0208(00D0) 2020202000010000 0224(00E0) 206E6F64616C2031 0240(00F0) 2020202020202020 0256(0100) 6E747265206E6F64 0272(0110) 2020202020202020 0288(0120) 0E50636865662061 0304(0130) 69766973696F6E20 0320(0140) 0001000011806368 0336(0150) 6572207269746120 0352(0160) 2020202000010000 0368(0170) 6520636F75727320 0384(0180) 2020202020202020 0400(0190) 6566207365727669 0416(01A0) 616C202020202020 0432(01B0) 03B0636865662D73 0448(01C0) 7070617265696C73 0464(01D0) 000100000B206782 0480(01E0) 636C652020202020 0496(01F0) 2020202000010000
7420616E74656E6E 2020202020202020 6D75726965722020 2020202020202020 10F862726F636865 6566202020202020 0001000001906364 6F6E20736F75732D 7320202000010000 6520656666656374 696E67656E742020 6C6C756C65207374 2020202020202020 04C063656E747265 2020202020202020 000100000DC86365 616C203320202020 2020202000010000 6E74656E6E652064 656D706C6F692020 6566206174656C69 2020202020202020 0F60636865662064 7269746120202020 0001000012086368 63652067826E8272 2020202000010000 656374696F6E2061 206D657375726520 72616E7420636572 2020202020202020 0ED8696E73747275
é-adjoint antenn e s.t .....(armurier
secteur 0000017 0000(0000) 6374657572202020 0016(0010) 2020202020202020 0032(0020) 0000000000000000 0048(0030) 0000000000000000 0064(0040) 0000000000000000 . . . . 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
2020202020202020 0004000009000000 0000000000000000 0000000000000000 0000000000000000 . . 0000000000000000 0000000000000000 0000000003800000
cteur
Cours de COBOL-85
.....°broche ur-en-chef .....Écd t division sousofficiers .... .Écellule effect ifs contingent ......cellule st ages .....+centre nodal 1 .....+ce ntre nodal 3 .... .Pchef antenne d ivision emploi .....Çchef ateli er rita .....`chef d e cours rita ......ch ef service génér al .... ._chef-section a ppareils mesure ..... gérant cer cle .....+instru
........ ................ ................ ................ ................ ................ .............Ç..
L’organisation séquentielle-indexée
Chapître XV -
page 74
ESAT-DI
[LRE]
Cours CBL-85
page XV-75
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus secteur 0000018 0000(0000) 0266696E73747275 0016(0010) 2020202020202020 0032(0020) 000500000988696E 0048(0030) 7220202020202020 0064(0040) 2020202000060000 0080(0050) 6374657572202020 0096(0060) 2020202020202020 0112(0070) 7374727563746575 0128(0080) 2020202020202020 0144(0090) 0CB8696E73747275 0160(00A0) 2020202020202020 0176(00B0) 000900000C30696E 0192(00C0) 7220202020202020 0208(00D0) 20202020000A0000 0224(00E0) 6374657572206964 0240(00F0) 7461202020202020 0256(0100) 7374727563746575 0272(0110) 2020202020202020 0288(0120) 06E0696E73747275 0304(0130) 73748A6D65732020 0320(0140) 0001000005D0696E 0336(0150) 7220737973748A6D 0352(0160) 2020202000020000 0368(0170) 75722065706D7320 0384(0180) 2020202020202020 0400(0190) 666963696572206D 0416(01A0) 2020202020202020 0432(01B0) 0108706C6F6D6269 0448(01C0) 2020202020202020 0464(01D0) 0001000004387365 0480(01E0) 7420827461742D6D 0496(01F0) 2020202000010000
6374657572202020 2020202020202020 7374727563746575 2020202020202020 0A10696E73747275 2020202020202020 000700000A98696E 7220202020202020 2020202000080000 6374657572202020 2020202020202020 7374727563746575 2020202020202020 0878696E73747275 656E742E206C6174 000100001070696E 72206D7466702020 2020202000010000 6374657572207379 2020202020202020 7374727563746575 6573202020202020 06586D6F6E697465 2020202020202020 0001000005486F66 2063207320202020 2020202000010000 6572202020202020 2020202020202020 6372827461726961 616A6F7220202020 0D4073656374696F
.finstructeur
secteur 0000019 0000(0000) 6E20617070617265 0016(0010) 6573757265202020 0032(0020) 6374827461697265 0048(0030) 732067826E827261 0064(0040) 0FE8736572766963 0080(0050) 6971756573202020 0096(0060) 0001000002A00000 0112(0070) 0000000000000000 . . . . 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
696C73206465206D 000100000BA87365 206174656C696572 7578202000010000 657320746563686E 2020202020202020 0000000000000000 0000000000000000 . . 0000000000000000 0000000003000000
n appareils de m esure .....¿se ctétaire atelier s généraux .... ._services techn iques .....á.......... ................
secteur 0000020 0000(0000) 82F6326369652F6C 0016(0010) 2020202020202020 0032(0020) 000100000DC83263 0048(0030) 2020202020202020 0064(0040) 2020202000020000 0080(0050) 766C202020202020 0096(0060) 2020202020202020 0112(0070) 74202F6C766C2020 0128(0080) 2020202020202020 0144(0090) 0D4064656D702F6C 0160(00A0) 656D702F66657861 0176(00B0) 0001000011806466 0192(00C0) 64736F2020202020 0208(00D0) 2020202000010000 0224(00E0) 2F64652F64736F20 0240(00F0) 2020202020202020 0256(0100) 672F63732F64732F 0272(0110) 2020202020202020 0288(0120) 1208646761722F63 0304(0130) 2020202020202020 0320(0140) 0001000002186467 0336(0150) 742F726974612020 0352(0160) 2020202000010000 0368(0170) 732F73612F636174 0384(0180) 2020202020202020 0400(0190) 61722F63732F7361 0416(01A0) 2020202020202020 0432(01B0) 0190646761722F63 0448(01C0) 2020202020202020
766C202020202020 2020202020202020 69652F6C766C2020 2020202020202020 0E50326369652F6C 2020202020202020 0003000008786364 2020202020202020 2020202000010000 766C2F6466672F64 2020202020202020 672F63732F64652F 2020202020202020 12906466672F6373 2020202020202020 000200000C306466 6472742F72697461 2020202000010000 732F622E70657273 2020202020202020 61722F63732F6472 2020202020202020 05D0646761722F63 2020202020202020 0001000001086467 2F70696120202020 2020202000010000 732F736720202020 2020202020202020
é÷2cie/lvl
Cours de COBOL-85
.....êinstructeu r ......instru cteur .....ÿin structeur .... .+instructeur .....0instructeu r .....xinstru cteur ident. lat ta .....pin structeur mtfp .... ._instructeur sy stèmes .....-instructeu r systèmes .....Xmonite ur epms .....Hof ficier m c s .... ..plombier .....8secrétaria t état-major .....@sectio
................ ................
.....+2cie/lvl vl
.....P2cie/l
t /lvl
.....xcd
.... .@demp/lvl/dfg/d emp/fexa .....Çdfg/cs/de/ dso .....Édfg/cs /de/dso .....0df g/cs/ds/drt/rita .... ..dgar/cs/b.pers ......dgar/cs/dr t/rita .....-dgar/c s/sa/cat ......dg ar/cs/sa/pia .... .Édgar/cs/sg
L’organisation séquentielle-indexée
Chapître XV -
page 75
ESAT-DI
[LRE]
page XV-76
CHAPÎTRE indexée
Cours CBL-85
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus 0464(01D0) 0480(01E0) 0496(01F0)
0001000003B06467 61722F63732F7367 2F61672020202020 2020202020202020 2020202000010000 0438646761722F63
Cours de COBOL-85
....._dgar/cs/sg /ag .....8dgar/c
L’organisation séquentielle-indexée
Chapître XV -
page 76
ESAT-DI
[LRE]
Cours CBL-85
page XV-77
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus secteur 0000021 0000(0000) 732F737420202020 0016(0010) 2020202020202020 0032(0020) 61722F63732F7374 0048(0030) 2020202020202020 0064(0040) 0328646761722F6C 0080(0050) 2020202020202020 0096(0060) 000100000FE86467 0112(0070) 612F636572202020 0128(0080) 2020202000010000 0144(0090) 766C2F73612F6365 0160(00A0) 2020202020202020 0176(00B0) 61722F6C766C2F73 0192(00C0) 2020202020202020 0208(00D0) 0F60646766202F63 0224(00E0) 2020202020202020 0240(00F0) 0001000004C00000 0256(0100) 0000000000000000 . . . . . . . . . 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
2020202020202020 0001000002A06467 2020202020202020 2020202000020000 766C2F6167202020 2020202020202020 61722F6C766C2F73 2020202020202020 0ED8646761722F6C 7220202020202020 000200000CB86467 7420202020202020 2020202000010000 732F6266706D2020 2020202020202020 0000000000000000 0000000000000000 . . . . . . . . . 0000000000000000 0000000004800000
s/st
secteur 0000022 0000(0000) 018E646766202F63 0016(0010) 2020202020202020 0032(0020) 000100000B206467 0048(0030) 672F646D20202020 0064(0040) 2020202000020000 0080(0050) 732F64732F64656D 0096(0060) 2020202020202020 0112(0070) 66202F63732F6473 0128(0080) 6D73202020202020 0144(0090) 0548646766202F63 0160(00A0) 692F637073202020 0176(00B0) 0001000009886467 0192(00C0) 2F646D73692F6370 0208(00D0) 2020202000020000 0224(00E0) 732F64732F646D73 0240(00F0) 2020202020202020 0256(0100) 66202F63732F6473 0272(0110) 7020202020202020 0288(0120) 06E0646766202F63 0304(0130) 2F72697461202020 0320(0140) 0001000006586467 0336(0150) 6667202020202020 0352(0160) 2020202000010000 0368(0170) 766C202020202020 0384(0180) 2020202020202020 0400(0190) 0000000000000000 . . . . . . 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
732F6466672F646D 2020202020202020 66202F63732F6466 2020202020202020 0BA8646766202F63 672F65616F202020 000100000A986467 2F64656D672F6570 2020202000010000 732F64732F646D73 2020202020202020 66202F63732F6473 7320202020202020 0A10646766202F63 692F737220202020 0001000009006467 2F6472742F6D7466 2020202000010000 732F64732F647274 2020202020202020 66202F6C766C2F64 2020202020202020 107075636C202F6C 2020202020202020 0001000010F80000 0000000000000000 . . . . . . 0000000000000000 0000000000000000
.Ädgf /cs/dfg/dm
secteur 0000023 0000(0000) 0000000000000000 0016(0010) 0000000000000000 . . . . 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
0000000000000000 0000000000000000 . . 0000000000000000 0000000000000000 0000000004000000
................ ................
Cours de COBOL-85
.....ádg
ar/cs/st
.... .(dgar/lvl/ag ....._dgar/lvl/s a/cer .....+dgar/l vl/sa/cer .....+dg ar/lvl/st .... .`dgf /cs/bfpm .....+.......... ................ . . . ................ .............Ç..
..... dgf /cs/df g/dm .....¿dgf /c s/ds/demg/eao .....ÿdg f /cs/ds/demg/ep ms .... .Hdgf /cs/ds/dms i/cps .....êdgf /cs/ds /dmsi/cps ......dgf /c s/ds/dmsi/sr ......dg f /cs/ds/drt/mtf p .... ._dgf /cs/ds/drt /rita .....Xdgf /lvl/d fg .....pucl /l vl .....°.. ................ . . ................ ................
................ ................ ................
L’organisation séquentielle-indexée
Chapître XV -
page 77
ESAT-DI
[LRE]
Cours CBL-85
page XV-78
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus secteur 0000024 0000(0000) 82AC4144414D2020 0016(0010) 2020202020202020 0032(0020) 90414C4C41494E20 0048(0030) 2020202020202020 0064(0040) 414C4C41494E2020 0080(0050) 2020202020202020 0096(0060) 4C4C414E20202020 0112(0070) 2020202020202020 0128(0080) 42524F4953202020 0144(0090) 2020202020202000 0160(00A0) 5245202020202020 0176(00B0) 2020202020200001 0192(00C0) 452F4D415254494E 0208(00D0) 2020202020000100 0224(00E0) 4920202020202020 0240(00F0) 2020202000010000 0256(0100) 2020202020202020 0272(0110) 202020000100000E 0288(0120) 4420202020202020 0304(0130) 20200001000010F8 0320(0140) 5420202020202020 0336(0150) 20000100000DC842 0352(0160) 2020202020202020 0368(0170) 0001000005484245 0384(0180) 2020202020202020 0400(0190) 0100000B20434143 0416(01A0) 2020202020202020 0432(01B0) 000011804341494C 0448(01C0) 2020202020202020 0464(01D0) 00120843414C494E 0480(01E0) 2020202020202020 0496(01F0) 129044414E4C4550
2020202020202020 2020200001000001 2020202020202020 2020000100000328 2020202020202020 200002000006E041 2020202020202020 000100000BA8414D 2020202020202020 0100000D40414E44 2020202020202020 00001070414E4452 4F20202020202020 0002A0414E445245 2020202020202020 0F60414E454E2020 2020202020202020 D8414E4749424155 2020202020202020 414E47494241554C 2020202020202020 454C4D4F4E544520 2020202020202020 4E4F495420202020 2020202020202000 494F4C4920202020 2020202020200001 4C45202020202020 2020202020000100 4520202020202020 2020202000010000 414E202020202020
secteur 0000025 0000(0000) 2020202020202020 0016(0010) B844554649474E4F 0032(0020) 2020202020202020 0048(0030) 47524F5049474E41 0064(0040) 2020202020202020 0080(0050) 414F55454E202020 0096(0060) 2020202020202020 0112(0070) 524D414E4E202020 0128(0080) 2020202020202000 0144(0090) 55494C4C49455220 0160(00A0) 2020202020200001 0176(00B0) 0000000000000000 . . . . 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
202020000100000C 5520202020202020 2020000100000878 5244202020202020 20000100000C304A 2020202020202020 0001000001084B41 2020202020202020 01000004384C2748 2020202020202020 0000090000000000 0000000000000000 . . 0000000000000000 0000000001800000
Cours de COBOL-85
é¼ADAM
.....
ÉALLAIN
.....(
ALLAIN LLAN BROIS RE
....._A .....¿AM .....@AND
.....pANDR E/MARTINO .....áANDRE I .....`ANEN .....+ANGIBAU
D
.....°ANGIBAUL
T
.....+BELMONTE
.....HBENOIT
.
.... CACIOLI ...ÇCAILLE ...CALINE .ÉDANLEPAN
+DUFIGNOU
.. ... ....
.....
.....x GROPIGNARD .....0J AOUEN ......KA RMANN .....8L'H UILLIER .......... ................ ................ .............Ç..
L’organisation séquentielle-indexée
Chapître XV -
page 78
ESAT-DI
[LRE]
Cours CBL-85
page XV-79
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus secteur 0000026 0000(0000) 01384C4142415420 0016(0010) 2020202020202020 0032(0020) 184C414641524755 0048(0030) 2020202020202020 0064(0040) 4C41544555522020 0080(0050) 2020202020202020 0096(0060) 4156414C4C415244 0112(0070) 2020202020202020 0128(0080) 564F495349455220 0144(0090) 2020202020202000 0160(00A0) 424F5542454E4E45 0176(00B0) 2020202020200001 0192(00C0) 4320202020202020 0208(00D0) 2020202020000100 0224(00E0) 4E20202020202020 0240(00F0) 2020202000010000 0256(0100) 2020202020202020 0272(0110) 2020200001000005 0288(0120) 4E20202020202020 0304(0130) 2020000100000E50 0320(0140) 0000000000000000 . . . . . . . . . 0496(01F0) 0000000000000000
2020202020202020 2020200001000002 4520202020202020 2020000100000A10 2020202020202020 200001000003B04C 2020202020202020 000100000A984C41 2020202020202020 01000004C04C4520 4320202020202020 00000FE84D414445 2020202020202020 0006584D41525449 2020202020202020 09884D4541552020 2020202020202020 D04D45524345524F 2020202020202020 0000000000000000 0000000000000000 . . . . . . . . . 0000000000000000
.8LABAT
secteur 0000027 0000(0000) 0000000000000000 0016(0010) 0000000000000000 . . . . 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
0000000000000000 0000000000000000 . . 0000000000000000 0000000001000000
................ ................
secteur 0000028 0000(0000) 8012000000000000 0016(0010) 0080202020202020 0032(0020) 00000D4064656D70 0048(0030) 2F64656D702F6665 0064(0040) 2020000100001180 0080(0050) 652F64736F202020 0096(0060) 2020202020200001 0112(0070) 63732F64652F6473 0128(0080) 2020202020202020 0144(0090) 6466672F63732F64 0160(00A0) 7461202020202020 0176(00B0) 0000120864676172 0192(00C0) 7273202020202020 0208(00D0) 2020000100000218 0224(00E0) 6472742F72697461 0240(00F0) 2020202020200001 0256(0100) 2F63732F73612F63 0272(0110) 2020202020202020 0288(0120) 646761722F63732F 0304(0130) 2020202020202020 0320(0140) 0000019064676172 0336(0150) 2020202020202020 0352(0160) 20200001000003B0 0368(0170) 73672F6167202020 0384(0180) 2020202020200001 0400(0190) 2F63732F73742020 0416(01A0) 2020202020202020 0432(01B0) 646761722F63732F 0448(01C0) 2020202020202020 0464(01D0) 0000032864676172 0480(01E0) 2020202020202020 0496(01F0) 2020000100000FE8
07F0000007680000 2020202020200001 2F6C766C2F646667 7861202020202020 6466672F63732F64 2020202020202020 000012906466672F 6F20202020202020 2020000200000C30 732F6472742F7269 2020202020200001 2F63732F622E7065 2020202020202020 646761722F63732F 2020202020202020 000005D064676172 6174202020202020 2020000100000108 73612F7069612020 2020202020200001 2F63732F73672020 2020202020202020 646761722F63732F 2020202020202020 0000043864676172 2020202020202020 20200001000002A0 7374202020202020 2020202020200002 2F6C766C2F616720 2020202020202020 646761722F6C766C
Ç........_...h.. .Ç .. ...@demp/lvl/dfg /demp/fexa .....Çdfg/cs/d e/dso .....Édfg/ cs/de/dso .....0 dfg/cs/ds/drt/ri ta .. ....dgar/cs/b.pe rs ......dgar/cs/ drt/rita .....-dgar /cs/sa/cat ...... dgar/cs/sa/pia .. ...Édgar/cs/sg
Cours de COBOL-85
.....
.LAFARGUE LATEUR
....._L
AVALLARD VOISIER
......
.....ÿLA
.....+LE BOUBENNEC ....._MADE C .....XMARTI N .....êMEAU N
.....-MERCERO
.....P........ ................ . . . ................
................ ................
....._dgar/cs/ sg/ag .....8dgar /cs/st .....á dgar/cs/st .. ...(dgar/lvl/ag ....._dgar/lvl
L’organisation séquentielle-indexée
Chapître XV -
page 79
ESAT-DI
[LRE]
Cours CBL-85
page XV-80
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
secteur 0000029 0000(0000) 2F73612F63657220 0016(0010) 2020202020200001 0032(0020) 2F6C766C2F73612F 0048(0030) 2020202020202020 0064(0040) 646761722F6C766C 0080(0050) 2020202020202020 0096(0060) 00000F6064676620 0112(0070) 2020202020202020 0128(0080) 20200001000004C0 0144(0090) 0000000000000000 0160(00A0) 0000000000000000 0176(00B0) 0000000000000000 0192(00C0) 0000000000000000 0208(00D0) 0000000000000000 0224(00E0) 0000000000000000 0240(00F0) 0000000000000000 0256(0100) 0000000000000000 0272(0110) 0000000000000000 0288(0120) 0000000000000000 0304(0130) 0000000000000000 0320(0140) 0000000000000000 0336(0150) 0000000000000000 0352(0160) 0000000000000000 0368(0170) 0000000000000000 0384(0180) 0000000000000000 0400(0190) 0000000000000000 0416(01A0) 0000000000000000 0432(01B0) 0000000000000000 0448(01C0) 0000000000000000 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000 0496(01F0) 0000000000000000
Cours de COBOL-85
2020202020202020 00000ED864676172 6365722020202020 2020000200000CB8 2F73742020202020 2020202020200001 2F63732F6266706D 2020202020202020 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 00000000FEFF0000
/sa/cer .....+dgar /lvl/sa/cer .....+ dgar/lvl/st .. ...`dgf /cs/bfpm .....+........ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ............__..
L’organisation séquentielle-indexée
Chapître XV -
page 80
ESAT-DI
[LRE]
Cours CBL-85
page XV-81
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
XV.D.1.3
Exemple de recherche à partir d’une clé secondaire
ex : chercher les personnes dont la fonction est instructeur On va dans la table des clés du KEY INFORMATION RECORD à la 4 ème entrée car les clés sont dans l’ordre de création (qui est celui de la phrase select fournie en D11) ; on trouve dans le secteur 2 :
0032(0020) 0048(0030)
0000100000800400 0400000C00001400 00801E003500000C 0000180000801E00
.....Ç.......... .Ç..5........Ç..
000C => l’entrée fait 12 caractères 1400=512010 = adresse du ROOT NODE 5120 /512 = 10 reste 0 => le ROOT NODE pour cette clé se trouve au secteur n° 10 à partir du carcatère n° 0. Dans le ROOT NODE (secteur 10 et 11) on a : secteur 0000010 0000(0000) 0016(0010) 0032(0020) 0048(0030) 0064(0040) 0080(0050) . .
804A696E73747275 2020202020202020 000400002000FFFF FFFFFFFFFFFFFFFF FFFFFFFFFFFF0000 0000000000000000 . .
6374657572202020 2020202020202020 FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 2400000000000000 0000000000000000 . .
ÇJinstructeur .... .__________ ________________ ______..$....... ................
secteur 0000011 0000(0000) 0000000000000000 0000000000000000 . . . . . . 0480(01E0) 0000000000000000 0000000000000000 0496(01F0) 0000000000000000 0000000003810000
................ ................ .............ü..
81 => 1 et 000 0001 => on n’est pas sur un LEAF NODE ad. de la dernière entrée = 004A (= carc n° 74) la valeur de la clé sur 30c est justement « instructeur » On va trouver le double n°4 (numéro fixe attribué lors de la création) Pour toutes les clés de valeur <= « instructeur » il faut aller chercher dans le node de niveau inférieur à l’adresse 00 00 20 00 = 8192 10 => secteur 16 carc. n° 0. Dans le node suivant qui est de dernier niveau (secteur 16 et 17) on trouve : secteur 0000016 0000(0000) 821E61646A6F696E 0016(0010) 6520732E74202020 0032(0020) 0001000003286172 0048(0030) 2020202020202020 0064(0040) 2020202000010000 . . . . 0464(01D0) 000100000B206782 0480(01E0) 636C652020202020 0496(01F0) 2020202000010000
7420616E74656E6E 2020202020202020 6D75726965722020 2020202020202020 10F862726F636865 . . 72616E7420636572 2020202020202020 0ED8696E73747275
é.adjoint antenn e s.t .....(armurier
secteur 0000017 0000(0000) 6374657572202020 0016(0010) 2020202020202020 0032(0020) 0000000000000000 0048(0030) 0000000000000000 0064(0040) 0000000000000000 . . . . 0464(01D0) 0000000000000000 0480(01E0) 0000000000000000
2020202020202020 0004000009000000 0000000000000000 0000000000000000 0000000000000000 . . 0000000000000000 0000000000000000
cteur
Cours de COBOL-85
.....°broche ..... gérant cer cle .....+instru
........ ................ ................ ................ ................ ................
L’organisation séquentielle-indexée
Chapître XV -
page 81
ESAT-DI
[LRE]
page XV-82
CHAPÎTRE indexée
Cours CBL-85
Les fichiers en organisation séquentielle-
15
11/10/2009 11/10/2009
ANS85/m-focus 0000000000000000 0000000003800000
0496(01F0)
.............Ç.. => LEAF NODE
il ne reste plus qu’à balayer séquentiellement les entrées jusqu’à trouver « instructeur » : on obtient l’entrée suivante : 696E73747275637465757220202020202020202020202020202020202020 0004
00000900
<------------------------instructeur = valeur de la clé----------------------------------> il s’agit du double n° 4 (le 4ème créé) l’adresse dans les données est 900 = 2304 10 => (en divisant par 512) secteur 4 caractère 256 dans le fichier des données : on trouve une personne « instructeur » secteur 0000004 0000(0000) 4E20202020202020 0016(0010) 2020206A65616E2D 0032(0020) 2020202020202069 0048(0030) 7572202020202020 0064(0040) 2020202020646766 0080(0050) 6472732F72656E73 0096(0060) 202020436573736F 0112(0070) 8220202020202020 0128(0080) 732044554649474E 0144(0090) 2020202020202020 0160(00A0) 6C20202020202020 0176(00B0) 6E73747275637465 0192(00C0) 2020202020202020 0208(00D0) 652F6C766C202020 0224(00E0) 2020202020202020 0240(00F0) 2020202020202020 0256(0100) 408533363434636E 0272(0110) 4C49455220202020 0288(0120) 2020206D61726365 0304(0130) 2020202020202069 0320(0140) 7572202020202020 0336(0150) 2020202020646766 0352(0160) 646D73692F737220 0368(0170) 202020436573736F 0384(0180) 8220202020202020 0400(0190) 63204D415254494E
. .
. .
2020202020202020 6C75632020202020 6E73747275637465 2020202020202020 202F63732F64732F 2020202020202020 6E2D73827669676E 408533323031696E 4F55202020202020 2020206D61726365 2020202020202069 7572202020202020 2020202020326369 2020202020202020 2020204C6176616C 2020202020202020 65204C274855494C 2020202020202020 6C20202020202020 6E73747275637465 2020202020202020 202F63732F64732F 2020202020202020 6E2D73827669676E 4085333635306164 2020202020202020
N ur
jean-luc instructe
dgf /cs/ds/ drs/rens Cesson-sévign é @à3201in s DUFIGNOU marce l i nstructeur 2ci e/lvl Laval @à3644cne L'HUIL LIER marcel instructe ur dgf /cs/ds/ dmsi/sr Cesson-sévign é @à3650ad c MARTIN
. .
on obtient ainsi , les personnes « instructeur » dans l’ordre de leur création NB : il est étonnant de constater que les secteurs 16 et 17 du fichier des index ne contiennent qu’une clé « instructeur » alors qu’il reste de la place. D’autre part , les autres clés « instructeur » se trouvent sur les secteurs 18 et 19. Ces deux remarques semblent montrer que , au plus bas niveau , pour une clé donnée , il peut y avoir plusieurs nodes et donc que l’arbre n’est pas purement binaire. Le système , pour trouver tous les clés « instructeur » après avoir trouvé directement la première , cherche séquentiellement dans les nodes suivants (tant que même n° d’index et leaf-node),
Cours de COBOL-85
L’organisation séquentielle-indexée
Chapître XV -
page 82
ESAT-DI
[LRE]
Cours CBL-85
page XV-83
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
vérification par programme IDENTIFICATION DIVISION. PROGRAM-ID. listins. AUTHOR. IC lre. environment division. input-output section. file-control. select fimpri assign to "c:\laf\cobol\indexe\resins.txt". select fcadres assign to "c:\laf\cobol\indexe\vidcad.don" organization indexed access sequential record key is btph alternate record key bnom with duplicates alternate record key bgrade with duplicates alternate record key bfonction with duplicates alternate record key bservice with duplicates alternate record key bsite with duplicates file status wst. DATA DIVISION. file section. fd fimpri linage is 30. 1 sligne pic x(80). fd fcadres. 1 benreg. 3 btph pic xxxx. 3 bgrade pic xxxx. 3 bnom pic x(25). 3 bprenom pic x(20). 3 bfonction pic x(30). 3 bservice pic x(30). 3 bsite pic x(20).
liste des personnes dont la fonction = instructeur
3644 3650 3651 3671 3411 5207 3201
L'HUILLIER MARTIN LAFARGUE LAVALLARD DANLEPAN GROPIGNARD DUFIGNOU
WORKING-STORAGE SECTION. 77 wctf pic 9 value 0. 88 ff value 1. 77 wchoix pic x(25) value "LAG". 1 wst. 3 wstk1 pic x. 3 wstk2. fin de fichier 5 wstkbin pic 99 comp-x. PROCEDURE DIVISION. debut. open i-o fcadres output fimpri move "liste des personnes dont la fonction = instructeur" to sligne write sligne move spaces to sligne write sligne after 3 move "instructeur" to bfonction start fcadres key is >= bfonction invalid key display "je n'ai trouvé personne" not invalid key read fcadres next record at end set ff to true end-read perform until bfonction not = "instructeur" or ff move btph to sligne move bnom to sligne(6:) move bprenom to sligne(40:) write sligne read fcadres next record at end set ff to true end-read end-perform end-start move "fin de fichier" to sligne move "file status = " to sligne(15:) move wst to sligne(30:) write sligne after 3 close fcadres fimpri stop run.
Cours de COBOL-85
marcel yves jean-pierre michel émile jules marcel file status =
L’organisation séquentielle-indexée
00
Chapître XV -
page 83
ESAT-DI
[LRE]
Cours CBL-85
page XV-84
CHAPÎTRE indexée
15
Les fichiers en organisation séquentielle11/10/2009 11/10/2009
ANS85/m-focus
XV.D.2
Les problèmes de compression
[ sera traité ultérieurement ]
Cours de COBOL-85
L’organisation séquentielle-indexée
Chapître XV -
page 84