RPGDS


SDS et INFDS en RPG-IV (voir ici en format libre)





|
      *
      *           DATA STRUCTURES PARTICULIERES EN RPG   
      *
      *
      *
      *          SDS : Data structure d'informations programme 
      *
      *
      *        INFDS : Data structures d'informations fichiers 
      *
      *
     D**********************      
     D*    SDS             *      
     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 filler1                90    200
     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 filler2               334    357
     d current_user                  10     overlay(systemeDS:358)
     d nb_element_xml_into           10     overlay(systemeDS:372)
     d Internal_job_ID               16     overlay(systemeDS:380)
     d system_name                  8     overlay(systemeDS:396)      d filler3               404    429

|
      *
     C**********************
     C*    INFDS           *
     C**********************
     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)
     I* ODP  DS = DEVICE, DB = DataBase, SP = Spool
      *
     d fichier_ouvert                10     overlay(fichierDS:83)
     d* (<> 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 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"     ==*=====================================================================




©AF400