La Spécif H ILE/RPG-IV

BoTTom |    Changer de couleur
La structure historique d'un programme RPG-IV est la suivante :
 
H   [paramètres généraux]
 
F   [déclarations des fichiers]
 
D   [déclaration des variables de travail]
 
I    [description des enregistrements lus]
 
C   [traitement]
 
O    [description des enregistrements écrits]
 
**CTDATA
<---> source des tableaux chargés à la compilation. (SI CTDATA en spécif D)
 
La spécif H est facultative, les I et O sont générées par le compilateur
 cela sera donc majoritairement : F D C.
 
 En version 7.2, les déclarations se font en format libre
  ctl-opt (H), dcl-f (F), dcl-ds et dcl-s (D)


|    Changer de couleur
 
 
   ! RPG-IV  !      Valeur                !
   !---------!----------------------------!
   !  6      !        H                   !
   !         !                            !
   ! 7-80    !   Mots-clés (format libre) !
   !         !                            !
   !---------!----------------------------!
 
 
La spécification de contrôle peut occuper plusieurs lignes
 
Un mot-clé peut être scindé sur plusieurs lignes
 (sans marque de continuation)
 
Exemple :
 
  *.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+.
 HKeywords++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 H   DATEDIT(*MDY)   DATFMT(*MDY/)
 H        DECEDIT('.')


|    Changer de couleur
 
 En version 7.1 avec SI51094 et en version 7.2, la notion de spécif
  devient faculative, les mots-clés sont les mêmes.
 
 Vous utiliserez à la place d'un H en colonne 6  ctl-opt et ; 
 
 Exemple :
 
   ctl-opt DATEDIT(*MDY)   DATFMT(*MDY/)
                DECEDIT('.') ;
 
 
   ATTENTION, la colonne 6 est toujours réservée aux specifs, vous écrivez
               ce que vous voulez à partir de la colonne 8 !
 
 Nous pouvons aussi mélanger nouvelle écriture et ancienne écriture.
 
 Exemple :
 
   ctl-opt DATEDIT(*MDY)   DATFMT(*MDY/);
 H              DECEDIT('.')
 


|    Changer de couleur
 
 + DATEDIT(format<séparateur>)  format d'édition de la date (*DATE)
 
  Représente le format d'édition des variables numériques avec édit-code Y
 
 formats valides : *YMD, *MDY, *DMY
 séparateur par défaut : '/' (& = l'espace)
 
 + DATFMT(format<séparateur>)  format par défaut des variables date.
 
   formats valides : *YMD,*MDY,*DMY,*JUL - *ISO,*USA,*EUR,*JIS
   séparateurs     : <--- au choix ---->   <---- imposé ----->
 
 + DECEDIT('x')  format d'édition des données numériques.
 
   '.'  123/1000 =  .123  <- défaut
   ','           =  ,123
   '0.'          = 0.123
   '0,'          = 0,123
 
 + TIMFMT(format<séparateur>)  format par défaut des variables heure
   formats valides : *HMS - *ISO,*USA,*EUR,*JIS


|    Changer de couleur
 
 Mots-clés des versions V3R60 / V3R20 :
 
 + NOMAIN  (sans paramètres) : source ne contenant que des procédures.
 
           n'ayant pas de programme principal, il n'y aura pas de cycle
             généré par le compilateur.
 
 + COPYRIGHT('votre signature') 
 
          génère un copyright dans le programme ou le programme de service.
 
 
 Mots-clés en V3R70 :
 
 
 + COPYNEST(1 -2048) support des /COPY imbriqués
 
                     c'est à dire copie d'un source par :
                           /copy fichier,membre
 
                     contenant lui même un ordre /copy


|    Changer de couleur
 
 + EXPROPTS(          ) précision des variables intermédiaires.
            *MAXDIGITS  nombre maximal de chiffres
            *RESDECPOS  précision de la variable résultat
 
 + FLTDIV(*NO ! *YES)   indique si les divisions (dans les expressions)
                         sont faites en notation scientifique.
 
 Nouveaux mots-clés en spécif H  V4R20 :
 
  (pratiquement tous les paramètres des commandes de création sauf DBGVIEW)
 
  particulièrement
 
 + ALWNULL             support (ou non) des valeurs nulles
 
    ALWNULL(*NO          + pas de support des valeurs nulles
 
            *INPUTONLY   + en lecture uniquement
 
            *USRCTL)     + support et gestion de la fonction %NULLIND()
 


|    Changer de couleur
 
 Nouveaux mots-clés en spécif H  V4R40 :
 
 
 
 + OPTION(*SRCSTMT | *NOSRCSTMT)
 
    avec *SRCSTMT le compilateur génère une table de DEBUG
    ou chaque instruction porte le N° de ligne source
 
    avec *NOSRCSTMT les lignes dans l'objet sont numérotées en séquence
 
 
 
 + OPTION(*DEBUGIO | *NODEBUGIO)
 
    avec *DEBUGIO le compilateur génère dans la table de DEBUG
     une ligne par spécif I (ou O). ainsi un READ peut entrainer
     10 points d'arret (ou plus) en mode pas à pas.
 
    avec *NODEBUGIO, un READ entraine UN SEUL point d'arret.
 





©AF400