Nouveautés RPG IV en V5R30

BoTTom |    Changer de couleur
 
 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
 


|    Changer de couleur
 
 + %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
 


|    Changer de couleur
 
 + 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


|    Changer de couleur
 
 + 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)





©AF400