Les nouveautés RPG IV liées à la V5R30 sont assez peu nombreuses. + nouvelle fonction %SUBARR permettant de ne manipuler qu'une partie d'un tableau. [ très pratique pour les tableaux dynamiques gérés par pointeur ] %SUBARR(tableau : debut : nombre) ne manipule que "nombre" poste(s) à partir de "debut" (nombre est facultaif, si non précisé, on traite jusqu'à la fin) + SORTA et XFOOT admettent %SUBARR en argument /free sorta %subarr(tbl:1:10);// ne trie que les 10 premiers postes resultat = %xfoot(%subarr(tbl:i:5));//cumul des 5 postes à partir de i. /end-free |
+ %DEC admet en premier argument date/heure/horodatage le deuxième argument peut être le format désiré le résultat de la transformation est numérique D DATJMA S 6 0 D DATE S D DATFMT(*ISO) INZ(D'2004-09-01') /free DATJMA = %dec(DATE : *DMY); // DATJMA = 010904 /end-free + %TRIM admet en deuxième argument le caractère à éliminer %TRIMR et %TRIML aussi /free aenlever= '*-' ; chaine = '***a-b-c-' ; resultat = %trim(chaine : aenlever); // chaine = 'a-b-c' /end-free |
+ le Mot-clé OPTIONS sur les prototypes admet une nouvelle valeur *TRIM D PGMA PR D P1 6 0 D P2 20 OPTION(*TRIM) le paramètre P2 sera recu sans les espaces d'extémité par PGMA + les variables numériques packées et numériques étendues peuvent être définies jusqu'à 63 chiffres (avant la limite était de 31) + la DS résultat placée sur un ordre d'entrée/sortie peut être une DS externe, et tous les ordres de lecture (CHAIN, READ, READE) l'admettent. D inputDS DS qualifieds D decoupage1 likercd(rcd1) overlay(inputDS) D decoupage2 likercd(rcd2) overlay(inputDS) /free read fichier inputDS; /end-free |
+ la variable d'environnement QIBM_RPG_JAVA_PROPERTIES peut être renseignée avant l'appel à un pgm RPG utilisant JNI afin de paramétrer la JVM. par exemple '-Djava.version=1.4;' si vous placez plusieurs valeurs le séparateur est " ; ". par exemple '-Djava.version=1.4;-Dos400.stdout=file:monfichier.txt;' + la variable d'environnement QIBM_RPG_JAVA_EXP_TRACE permet d'avoir une trace en cas d'erreur générée par la JVM, si renseignée à Y . la trace est affichée à l'écran, sauf à renseigner os400.stderr + le compilateur RPG peut être utilisé comme un pré-processeur avec l'option PPGENOPT. IL ne génère pas un pgm mais un membre source (renseigner PPSRCFILE, PPSRCMBR) dans lequel il aura traité les directives /DEFINE, /IF, /COPY, éventuellement /INCLUDE (*EXPINCLUDE) et enlevé les commentaires (*RMVCOMMENT) + le pré-compilateur SQL admet un nouveau paramètre RPGPPOPT qui lui permet alors d'utiliser le compilateur RPG en tant que pré-processeur. Il supporte ansi toutes les directives RPG (même /INCLUDE avec *LVL2) |