* * DATA STRUCTURES PARTICULIERES EN RPG * * * SDS : Data structure d'informations programme * * * INFDS : Data structures d'informations fichiers * * D********************** ATTENTION la syntaxe overlay(nom-de-DS) D* SDS * n'est valide qu'en V4R20. D********************** D systemeDS SDS d nom_du_pgm 10 overlay(systemeDS) d status_code 5 0 overlay(systemeDS:11) d status_prv 5 0 overlay(systemeDS:16) d numero_ligne 8 0 overlay(systemeDS:21) d routine 8 overlay(systemeDS:29) d nb_de_parm 3 0 overlay(systemeDS:37) d mch_ou_cpf 3 overlay(systemeDS:40) d errorcode 4 overlay(systemeDS:43) |
d ligneMI 4 overlay(systemeDS:47) d message 30 overlay(systemeDS:51) d bibli_du_pgm 10 overlay(systemeDS:81) * d dernier_fich 10 overlay(systemeDS:201) d infos_fichier 35 overlay(systemeDS:209) d JOB 10 overlay(systemeDS:244) d init_user 10 overlay(systemeDS:254) d jobnbr 6 overlay(systemeDS:264) d dateentree 6 overlay(systemeDS:270) d dateexec 6 overlay(systemeDS:276) d heureexec 6 overlay(systemeDS:282) d date_crt 6 overlay(systemeDS:288) d heure_crt 6 overlay(systemeDS:294) d compilateur 4 overlay(systemeDS:300) d fichier_src 10 overlay(systemeDS:304) d bib_src 10 overlay(systemeDS:314) d mbr_src 10 overlay(systemeDS:324) * d current_user 10 overlay(systemeDS:358) * d nombre_element_xml 20I 0 overlay(systemeDS:372) |
* ********************** * INFDS * ********************** Ffichier uf e k disk infds(fichierDS) D fichierDS DS * ********************* INFOS FICHIER * d nomfichier 8 overlay(fichierDS) d f_open 1 overlay(fichierDS:9) * 1 = oui d f_eof 1 overlay(fichierDS:10) * 1 = oui d f_status 5s 0 overlay(fichierDS:11) d codoperation 6 overlay(fichierDS:16) d routine 8 overlay(fichierDS:22) d no_sequence 8 overlay(fichierDS:30) d format 8 overlay(fichierDS:38) * en externe, nom du format * en interne, indicateur d'entrée d erreur 7 overlay(fichierDS:46) |
********************** OPEN FEEDBACK AREA d type_odp 2 overlay(fichierDS:81) d* ODP DS = DEVICE, DB = DataBase, SP = Spool * d fichier_ouvert 10 overlay(fichierDS:83) I* (<> de nomfichier si OVRDBF) d bibliotheque 10 overlay(fichierDS:93) D SplNbr 5I 0 overlay(fichierDS:123) D lg_maxi 10I 0 overlay(fichierDS:125) D Membre 10 overlay(fichierDS:129) D nb_de_lignes 5I 0 overlay(fichierDS:152) D nb_de_colonne 5I 0 overlay(fichierDS:154) D nb_enregs 10I 0 overlay(fichierDS:156) d* NB d'enregistrements lors de l'open d type_acces 2 overlay(fichierDS:160) d* KU = Keyed Unique, KF = Keyed Fifo, KL = Keyed Lifo, AR =Arrivée * d cle_dupliquee 1 overlay(fichierDS:162) d* U (unique) D (dup) d source 1 overlay(fichierDS:163) d* Y = srcpf d overflow 5I 0 overlay(fichierDS:188) |
* ********************** I-O FEEDBACK AREA (standard) * d nb_write 10I 0 overlay(fichierDS:243) d nb_read 10I 0 overlay(fichierDS:247) d nb_exfmt 10I 0 overlay(fichierDS:251) d nb_autreio 10I 0 overlay(fichierDS:255) d dernier_format 10 overlay(fichierDS:261) d classe_unite 2 overlay(fichierDS:271) d classe_unite 2 overlay(fichierDS:271) d nom_unite 10 overlay(fichierDS:273) d lg_dernier 10I 0 overlay(fichierDS:283) * ********************** I-O FEEDBACK AREA (ICF et DSPF) * d touche 1 overlay(fichierDS:369) * X'31'-X'3C' = F1 à F12, * X'B1'-X'BC' = F13 à F24 * X'BD' = CLEAR X'F1' = Entrée * X'F4'/X'F5' = Rolldown/rollup X'F3' = Aide * X'F6' = Print x'F8' = Home (pos 1) * x'70'-x'7F' = EVENT-ID donné par le mot-clé MOUBTN(*xxx E00-E15) |
* d lico 5I 0 overlay(fichierDS:370) d* LICO DIV 256 --> LIGNE d* MVR --> COLONNE * d rang_sfl 5I 0 overlay(fichierDS:376) d premier_rang 5I 0 overlay(fichierDS:378) d* RANG du premier enreg de sous fichier qui était affiché d* lors de la lecture, si l'on place cette valeur d* dans SFLRCDNBR on réaffiche toujours même page ! d nbrcd_sfl 5I 0 overlay(fichierDS:380) d wlico 5I 0 overlay(fichierDS:382) * position curseur mais dans la fenêtre active * ********************** I-O FEEDBACK AREA (PRTF) * d ligne_en_cours 5I 0 overlay(fichierDS:367) d page_en_cours 5I 0 overlay(fichierDS:369) |
* ********************** I-O FEEDBACK AREA (DATA BASE) d lg_totale 10I 0 overlay(fichierDS:367) d jdftval 4 overlay(fichierDS:370) * chaque bit représente un fichier 0 = utilisé sans JDFTVAL * 1 avec JDFTVAL d offset_to_null 5I 0 overlay(fichierDS:375) d nbrcd_lock 5I 0 overlay(fichierDS:377) d nb_de_cles 5I 0 overlay(fichierDS:387) d lg_cle 5I 0 overlay(fichierDS:393) d no_membre 5I 0 overlay(fichierDS:395) d recno 10I 0 overlay(fichierDS:397) d*valeur_cles xxx overlay(fichierDS:400) d*cles_nulles yyy overlay(fichierDS:zzz) * * xxx est donné par "lg_cle" * yyy est donné par "offset_to_null * zzz est donné par "lg_totale" ==*===================================================================== |