Mon compte | Téléassistance | Français Anglais 
   
PHL Soft

Editeur de solutions de modernisation
et de développement web sur AS/400 (IBM i)

   
Accueil Produits Références Société Newsletters Mon compte Contact
Rubrique PHL Mag

Les nouveautés de l'IBM i V7.1

La version V7.1 d'IBM i est sortie en avril, en parallèle avec les nouveaux serveurs basés sur le Power 7. Nous vous présentons ici les innovations qui concernent le CL et le RPG. Vous les retrouverez sur : http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/index.jsp

Nouveautés dans le Langage de Contrôle

La commande RTVCLSRC permet maintenant d'extraire un source CL d'un module ILE.

Une variable CL entière peut maintenant avoir une longueur de 8, ce qui permet de prendre en compte des champs de 8 octets dans des structures d'entrée ou de sortie.

Une nouvelle option de compilation permet de visualiser les niveaux d'imbrication des boucles DO et des groupes SELECT dans le listing de compilation.

Un nouveau paramètre DBGENCKEY des commandes CRTCLMOD, CRTBNDCL pour le CL, CRTRPGMOD, CRTBNDRPG ou CRTSQLRPGI pour le RPG, permet de crypter les données du listing de débogage. La visualisation se fait au moyen d'une clef de cryptage.

Une commande INCLUDE peut être imbriquée dans une autre commande INCLUDE, sans limite de niveaux.

Nouveautés dans RPG ILE

Un tableau peut être trié dans l'ordre croissant en utilisant SORTA(A) et dans l'ordre décroissant en utilisant SORTA(D). Ce ne peut pas être un tableau dont la spécification contient le mot-clef ASCEND ou DESCEND.

// Trier le tableau salary
// dans l'ordre décroissant
SORTA(D) salary
// Trier le tableau custDs array
// selon le champ amount_owing
SORTA custDs(*).amount_owing;

Il est possible de trier les tableaux de structures de données et d'y faire des recherches en utilisant des champs comme clefs.

// Rechercher un élément dans le tableau
// custDs où le champ account_status est "K"
elem = %LOOKUP("K" : custDs(*).account_status);

La fonction intégrée %SCANRPL scanne toutes les occurrences d'une valeur dans une chaîne et les remplace par une autre valeur.

// Remplacer NAME par 'Tom'
string1 = 'See NAME. See NAME run. Run NAME run.';
string2 = %ScanRpl('NAME' : 'Tom' : string1);
// string2 = 'See Tom. See Tom run. Run Tom run.

La fonction intégrée %LEN(varying : *MAX) peut être utilisée pour obtenir le nombre maximal de caractères d'une chaîne de longueur variable.

Avec le mot-clef ALIAS dans une définition, il est possible d'utiliser des noms alternatifs longs pour des champs de structures de données définies de manière externe.



A R CUSTREC
A CUSTNM 25A ALIAS(CUSTOMER_NAME)
A CUSTAD 25A ALIAS(CUSTOMER_ADDRESS)
A ID 10P 0
D custDs e ds ALIAS
D QUALIFIED EXTNAME(custFile)
//free
  custDs.customer_name = 'John Smith';
  custDs.customer_address = '123 Mockingbird Lane';
  custDs.id = 12345;

Quand une procédure retourne une très grande valeur, en particulier une très grande valeur variable, sa performance d'appel peut être nettement améliorée en utilisant le paramètre RTNPARM.

D getFileData pr a varying len(1000000)
D rtnparm
D file a const varying len(500)
D data S a varying len(1000)
/free
    data = getFileData ('/home/mydir/myfile.txt');

La fonction intégrée %PARMNUM(parameter_name) retourne la position du paramètre dans la liste des paramètres.

D pi
D name 100a const varying
D id 10i 0 value
D errorInfo likeds(errs_t)
D options(*nopass)
/free
// Vérifier si le paramètre "errorInfo" a été passé
if %parms >= %parmnum(errorInfo);

Si un programme ou une procédure n'est pas appelé par un autre module RPG, sa déclaration est désormais optionnelle.

Il y a deux nouvelles options dans XML-INTO. L'utilisation de l'option datasubf dans la spécification d'un champ permet de récupérer les attributs d'un élément XML. L'option countprefix permet de récupérer les occurrences successives d'un élément XML dans un tableau. Ces options sont également disponibles dans la V6.1 par l'intermédiaire d'une PTF.

Dans le prochain numéro du magazine, nous présenterons les nouveautés d'IBM i V7.1 dans DB2 et SQL.

Cycle de vie des versions d'IBM i

Cycle de vie des versions d'IBM i

Chaque version d'IBM i est maintenue pendant la disponibilité des deux versions suivantes et 24 mois supplémentaires. Il est possible de migrer d'une version n à la version n+1 ou n+2.




 Logo PHL SOFT © 2011 - PHL SOFT
PHL SOFT Partenaire IBM Niveau Advanced
Plan du site - Informations légales - Contact
Logo Partenaire IBM Niveau Advanced