
|
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) |
! 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('.')
|
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('.')
|
+ 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
|
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
|
+ 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() |
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. |