
pause-café
destinée aux informaticiens sur plateforme IBM i.
Pause-café #94
IBM i 7.5 TR5 - 7.4 TR11
Annoncée le 8/10/2024, disponible le 22/11/2024 (sauf BRMS le 15/12/2024, RDi le 20/12/2024 et PowerHA SystemMirror le 27/12/2024)
Rappels
Le rythme actuel des versions est d'environ 3 ans, avec 2 TR par an.

Vous pouvez mettre à niveau depuis la version n-2 (de 7.3 à 7.5 par exemple).
2 versions sont maintenues en concurrence. L'arrêt de la maintenance de la 7.3 est effectif depuis le 30/09/2023. Les TR ne sont désormais plus disponibles pour la 7.3
Références
- IBM i 7.4 - TR11 Enhancement https://www.ibm.com/support/pages/ibm-i-74-tr11-enhancements
- IBM i 7.5 - TR5 Enhancement https://www.ibm.com/support/pages/ibm-i-75-tr5-enhancements
- IBM i Docs 7.5 https://www.ibm.com/docs/en/i/7.5
- Cycle de vie des versions https://www.ibm.com/support/pages/release-life-cycle
- Page d'accueil Technology Updates https://www.ibm.com/support/pages/node/1119129/
- Page d'accueil IBM i https://www.ibm.com/it-infrastructure/power/os/ibm-i
- Roadmap Power10 et IBM i https://www.ibm.com/downloads/cas/AD9PJJQ2
- Toutes les nouveautés depuis la 7.5 : https://www.ibm.com/docs/en/i/7.5?topic=capacities-whats-new-i-75
- Toutes les nouveautés depuis la 7.4 : https://www.ibm.com/docs/en/i/7.4?topic=capacities-whats-new-i-74
Support
IBM i 7.5 n'est supporté qu'avec les serveurs Power 9 ou Power 10.
IBM i 7.4 TR11 n'est supporté qu'avec les serveurs Power8, Power9 ou Power 10.
Nouvelles fonctionnalités pour PowerVM :
- Virtual Fibre Channel : amélioration des performances et tracking des latences
Plus de détails https://www.ibm.com/support/pages/node/1137514 et https://www.ibm.com/docs/en/announcements/platform-enhancements-powervm-powervc-vhmc-cmc-2024-10-08?region=US
Nouvelles fonctionnalités :
- Amélioration de la vue QUSRBRM.CG_BACKUP_STATUS : ajout du groupe de contrôle d'archivage
- Optimisation de la commande RSTLIBBRM
- Phase 1 de l'interface web BRMS : vue simplifiée des informations sur l'état des sauvegardes et supports
- Nouveaux services SQL
- QUSRBRM.CONTROL_GROUP view
- QUSRBRM.CONTROL_GROUP_ENTRY view
- QUSRBRM.CONTROL_GROUP_SUBSYSTEM view
- QUSRBRM.CONTROL_GROUP_JOB_QUEUE view
- QUSRBRM.BACKUP_LIST view
- QUSRBRM.BACKUP_OBJECT_LIST view
- QUSRBRM.BACKUP_SPLF_LIST view
- QUSRBRM.BACKUP_IFS_LIST view
- QUSRBRM.BACKUP_FOLDER_LIST view
- QUSRBRM.BACKUP_POLICY view
- QUSRBRM.SYSTEM_POLICY view
PTF :
IBM i 7.5 - 5770BRA SJ03069 - 5770BR2 SJ02198
IBM i 7.4 - 5770BRA SJ03066 - 5770BR2 SJ02197
Cf https://helpsystemswiki.atlassian.net/wiki/spaces/IWT/pages/165642446/Enhancements+to+BRMS
Nouvelles fonctionnalités :
- Version 5.6.3
- Prise en charge des services de réplication globale (GRS) avec IASP
- Cela permet la gestion PowerHA de la réplication SAN dans PowerVS
Cf https://fortradocs.atlassian.net/wiki/spaces/IWT/pages/163577866/PowerHA+SystemMirror+for+i
Nécessite :
IBM i 7.5 : SF99950 niveau 8
IBM i 7.4 : SF99704 niveau 29
Nouvelles fonctionnalités
- Fonctions scalaires GENERATE_UUID er GENERATE_UUID_BINARY
- Retourne un UUID (Universally Unique IDentifier) (cf https://en.wikipedia.org/wiki/Universally_unique_identifier) en utilisant la version 4 (random) de l'algorithme
- La valeur de retour est CHAR(36) ou BINARY(16)
- Le CCSID est celui du job
- cf https://www.ibm.com/support/pages/node/7168478


Services pour l'administrateur DB2
Nouveaux services
- Amélioration de la gestion des noms des curseurs pour les UDTF
- Le nom du curseur résultat est systématiquement SQL_TABLE_CURSOR. En cas d'utilisation de multiples UDTFs, il peut y avoir des risques de collisions des noms de curseurs
- L'utilisation de FENCED dans vos fonctions limitece risque. Cela provoque l'exécution de la fonctions dans un thread dédié et augmente donc la charge de travail.
- Il est nécessaire de recréer les fonctions
- cf https://www.ibm.com/support/pages/node/7169071

Services modifiés
- QSYS2.MTI_INFO()
- Retroune désormais la partition ou le membre sous-jacent au MTI
- cf https://www.ibm.com/support/pages/node/6579391

Services
Services IBM i : nouveaux
- QSYS2.SERVICE_TOOLS_SERVER_INFO : informations sur Service Tools (SST/DST)
- La vue SERVICE_TOOLS_SERVER_INFO renvoie une ligne contenant les informations de configuration du serveur d'outils de service.
- cf https://www.ibm.com/support/pages/node/7168546
- SYSTOOLS.ADD_VALIDATION_LIST_ENTRY() : ajouter une entrée à une liste de validation
- Identique à l'API QsyAddValidationLstEntry()
- Nécessite option 13 de SS1 : System Openness Includes
- Renvoie 0 en cas de succès
- cf https://www.ibm.com/support/pages/node/7168530
- SYSTOOLS.CHANGE_VALIDATION_LIST_ENTRY() : modifier une entrée d'une liste de validation
- Equivalent à l'API QsyChangeValidationLstEntry()
- cf https://www.ibm.com/support/pages/node/7168530
- SYSTOOLS.REMOVE_VALIDATION_LIST_ENTRY() : modifier une entrée d'une liste de validation
- Equivalent à l'API QsyRemoveValidationLstEntry()
- cf https://www.ibm.com/support/pages/node/7168530
- SYSTOOLS.AUDIT_JOURNAL_VP() : poste VP du journal d'audit
- Fournit la liste formatée des postes VP : Network Password Error
- cf https://www.ibm.com/support/pages/node/6442047 et https://www.ibm.com/docs/en/i/7.5?topic=services-audit-journal-vp-table-function
- SYSTOOLS.CONFIGURATION_STATUS : informations sur les objets de configuration
- Equivalent à la commande RTVCFGSTS (Retrieve Configuration Status)
- Supporte les objets de type *CTLD Description du contrôleur, *DEFAULT Description de l'appareil, *LIND Description de la ligne, *NWID Description de l'interface réseau, *NWSD Description de l'interface réseau
- cf https://www.ibm.com/support/pages/node/7168545
- SYSTOOLS.END_JOBS : arrêt de plusieurs travaux
- Pour éviter de multiplier les requêtes ENDJOB, permet l'arrêt de multiples travaux en fonction des filtres transmis
- JOB_NAME_FILTER : *ALL ou un nom de travail spécifique
- CURRENT_USER_LIST_FILTER : liste de profils, séparés par ",". 10 valeurs maximum.
- SUBSYSTEM_LIST_FILTER : liste de sous-systèmes, séparés par ",". 25 valeurs maximum.
- END_OPTION : CONTROLLED ou IMMEDIATE
- END_CONTROLLED_DELAY : en secondes, de 1 à 999999 (30 par défaut)
- DELETE_SPOOLED_FILES : YES/NO. Suppression des spoules des travaux arrêtés (hors joblog)
- MAXIMUM_JOBLOG_ENTRIES : nombre, *NOMAX ou *SAME. Nombre d'entrées écrites dans la joblog du travail arrêté
- JOB_END_MAXIMUM : nombre maximum de travaux à arrêter. Défaut : sans limite
- JOB_END_ITERATION_COUNT : nombre de travaux à arrêter en 1 itération. Défaut = 100
- JOB_END_ITERATION_DELAY : nombre de secondes entre 2 itérations. Défaut = 60 secondes
- cf https://www.ibm.com/support/pages/node/7168537
- SYSTOOLS.IFS_ACCESS() : opérations possibles sur un fichier IFS
- Permet de tester qu'un fichier IFS est utilisable en lecture, écriture ...
- Equivalent à l'API access()
- cf https://www.ibm.com/support/pages/node/7168479
- SYSTOOLS.POWER_SCHEDULE_INFO : informations sur le planning de mise sous/hors tension
- Equivalent DSPPWRSCD (Display Power On/Off Schedule)
- cf https://www.ibm.com/support/pages/node/7168543

Les listes de validation sont utilisées pour la sécurité.
Exemple d'utilisation liste de validation :





Retourne 0 si l'accès est autorisé, sinon ERRNO.

Services IBM i : évolutions
- QSYS2.ACTIVE_JOB_INFO() : informations sur les travaux actifs
- Ajout de deux colonnes QRO_HASH_JSON et PLAN_IDENTIFIER_JSON
- QRO_HASH_JSON : liste des hachages QRO associés aux requêtes en cours d'optimisation ou d'exécution dans cette tâche. QRO = identifiant unique pour une requête dans le plan cache
- PLAN_IDENTIFIER_JSON : liste des identifiants de plan associés aux requêtes en cours d'exécution dans ce job
- cf https://www.ibm.com/support/pages/node/1128579
- QSYS2.AUDIT_JOURNAL_DATA_MART_INFO et QSYS2.MANAGE_AUDIT_JOURNAL_DATA_MART() : ajout filtre
- Nouveau paramètre DATA_MART_FILTER
- Vous devez indiquer une chaine de 1 ou plusieurs prédicats qui permettent de limiter les lignes retournées (clause WHERE ...)
- DATA_MART_FILTER => 'VIOLATION_TYPE = ''A'' AND OBJECT_LIBRARY NOT LIKE ''Q%''');
- Aucun contrôle de syntaxe n'est effectué
- Non supporté pour les actions ADD et DROP
- cf https://www.ibm.com/support/pages/node/7148888
- QSYS2.COMPARE_IFS() : ajout de nouveaux attributs
- La comparaison s'appuie sur de nouveaux attributs => non documenté !
- cf https://www.ibm.com/support/pages/node/7148257
- QSYS2.JOBLOG_INFO() : équivalent DSPJOBLOG
- Agrandissement de la zone MESSAGE_TOKENS à 12000 caractères (VARCHAR FOR BIT DATA)
- cf https://www.ibm.com/support/pages/node/1128417
- QSYS2.SYSTEM_STATUS(), QSYS2.SYSTEM_STATUS_INFO et QSYS2.SYSTEM_STATUS_INFO_BASIC : équivalent WRKSYSSTS
- Ajout d'une colonne POWER_ENTERPRISE_POOL_PROCESSORS : Nombre de cœurs attribués à ce système en tant que membre d'un pool Power Enterprise. Contient la valeur -1 si le système est à un niveau supérieur à 1.0 du pool Power Enterprise. Contient la valeur nulle si ce système n'est pas membre d'un pool Power Enterprise.
- cf https://www.ibm.com/support/pages/node/1128693, https://www.ibm.com/support/pages/node/1128705 et https://www.ibm.com/support/pages/node/6340749
- SYSTOOLS.FIRMWARE_CURRENCY : informations sur le niveau de firmware
- Ajout des deux colonnes :
- FW_TEMPFIXPACK : Copie temporaire du micrologiciel du serveur. Elle a été téléchargée sur le serveur et est disponible pour être activée, mais elle n'est peut-être pas active actuellement.
- FW_PERMFIXPACK : La copie permanente du firmware du serveur.
- cf https://www.ibm.com/support/pages/node/1119279
- SYSTOOLS.LPRINTF() : écrire dans la joblog
- La chaine de caractères à écrire est désormais FOR SBCS DATA (single-byte characters) pour assurer un meilleur support de toutes les langues
- Longueur max = 30.720
- cf https://www.ibm.com/support/pages/node/1167802 et https://www.ibm.com/docs/en/i/7.5?topic=data-sql-dbcs
- SYSTOOLS.SEND_EMAIL() : envoyer un mail depuis SQL
- Nouveau paramètre BODY_TYPE pour spécifier le type du body : *PLAIN, *HTML, et *XML
- cf https://www.ibm.com/support/pages/node/7031281
- Tracking Important System Limits : nouvelles limites
- Ajout de la prise en charge des alertes pour 16100 (nombre maximal de membres dans un fichier physique source) et 18304 (numéro de séquence maximal d'un journal *MAXOPT1 ou *MAXOPT2)
- cf https://www.ibm.com/support/pages/node/1136884



Dates sur 2 digits et "problème" de l'année 2039 (ne dites pas bug !)
PTFs nécessaires :
7.5 : 5770WDS SJ03204 et SJ02921 + 5770WDS SJ03206 pour TGTRLS(V7R4M0)
7.4 : 5770WDS SJ03205 et SJ02911
Paramètre DATEYY sur les commande CRTRPGMOD/CRTBNDRPG et du mot clé de contrôle DATEYY


- Valeurs :
- *ALLOW : aucun contrôle, valeur par défaut (comportement actuel)
- *WARN : ajoute un message de gravité 10 dans le spoule de compilation en cas d'usage de date avec année sur 2 digits
- *NOALLOW : provouqe une erreur de gravité 30 (arrêt anormal de la compilation) en cas d'usage de date avec année sur 2 digits
Nouveau format de date *LONGJOBRUN
Peut être utilisé à la place de *JOBRUN (cf format défini dans le JOB) pour obtenir des dates sur 4 digits au lieu de 2 digits lors des conversions.
Exemple :

Avec :

Produit :

Les impacts détaillés : https://www.ibm.com/docs/en/i/7.5?topic=keywords-dateyyallow-warn-noallow
Nouvelles fonctions intégrées %HIVAL et %LOVAL
PTFs nécessaires :
7.5 : 5770WDS SJ02922 + 5770WDS SJ02923 pour TGTRLS(V7R4M0)
7.4 : 5770WDS SJ03205 et SJ02912
%HIVAL et %LOVAL : retournent les valeurs maximales et minimales pour une variable (ou paramètre)
Ne fonctionne pas pour les variables: caractères (y compris longueur variable, UCS-2, Graphic) de plus de 1000 de long, data structure, pointeur, pointeur de procédure, objet.
Exemple :

Produit :

Avec :

Fonctionne avec les énumérations :

La fonction intégrée %PROC est désormais autorisée dans la section ON-EXIT
PTFs nécessaires :
7.5 : 5770WDS SJ02922 + 5770WDS SJ02923 pour TGTRLS(V7R4M0)
7.4 : 5770WDS SJ03205 et SJ02912
Cf https://www.ibm.com/docs/en/i/7.5?topic=functions-proc-return-name-current-procedure
%PROC() retourne le nom de la procédure en cours d'éxécution. Par contre, la section ON-EXIT est techniquement éxécutée dans une procédure technique _QRNI_ON_EXIT_nomproc générée par le compilateur.
%PROC() supporte désormais un paramètre obligatoire lorsqu'appelé dans ON-EXIT :
- %PROC(*OWNER) retourne le nom de la procédure contenant la section ON-EXIT
- %PROC(*ONEXIT) retourne le nom de la procédure qui implémente la section ON-EXIT.
Exemple :

Produit :

Cela vous permet de gèrer les traces / logs au mieux !
Access Client Solutions
L'historique des versions et fonctionnalités associées https://www.ibm.com/support/pages/ibm-i-access-acs-updates
Page principale de ACS : https://www.ibm.com/support/pages/node/633843
Disponible depuis novembre 2024.
Version mineure, peu d'évolutions :
- Emulateur 5250 Support de EHLLAPI en 64 bits (EHLLAPI Bridge 9.24.318)
- Database Le registre CLIENT_APPLNAME est désormais alimenté pour toutes les fonctions DB de Access Client Solutions.
- Schémas Affichage du détail des index MTI (Maintained Temporary Index) dans une nouvelle table action. Nécessite : 7.4 SF99704 niveau 20, 7.3 SF99703 niveau 28
- Centre de performances SQL Ajout de raccourcis.
cf https://ibm-power-systems.ideas.ibm.com/ideas/IBMI-I-2232 et https://www.ibm.com/support/pages/ehllapi-access-client-solutions-emulator
Nécessite le téléchargement et l'installation de IBM i Access Client Solutions EHLLAPI Enablement Tool

Possibilité de montrer les instructions SQL utilisées pour alimenter certaines listes.



Listes des APARs corrigés :
- DT395262 OSP ACS DB SCHEMA " STATISTIC DATA DETAILS " TEXT IS NOT READABLE WHEN ACS IS SET TO GERMAN
- DT395897 OSP-UNPRED ACS - RUNSQLSCRIPT - SQL FORMATTER AND SYNAX CHECK ISSUE
- DT395925 OSP-OSP-UNPRED ACS WARNING
- DT396274 OSP THE DEFAULT PATH AND NAME USED WHEN USING ACS RUN SQL SCRIPT AND SAVING TO AN IFS FILE IS INCORRECT.
- DT396414 OSP PRINTER SESSION DOES NOT AUTOMATICALLY CONNECT AT ACS V1.1.9.6
- DT397540 OSP-UNPRED IBM I ACS 5250 SESSION MAY ATTEMPT FTP CONNECTION TO NETWORK RESOURCE HOSTING EMULATOR FOLDER
- DT398408 OSP-UNPRED RSS - CL PROMPT FOR COMMAND ADDLICKEY FAILS WITH CPD0082
- DT400313 OSP-UNPRED ACS EMULATION - FIELD SET TO BLINK WITH DBCS CHARACTER THE OTHER FIELDS BEFORE THAT FIELD ALSO BLINKS
- DT400977 OSP-MSGDB0036 SQL0913 DATA TRANSFER WITH LOCK ON FIRST MEMBER
- DT406832 OSP WHEN USING ACS RSS 1.1.9.6 ON LINUX USING THE SAVE RESULTS OPTION, GETS NO POP-UP.
Navigator for i
Rappels
L'interface de Navigator for i a été totalement revue en 2022. On parlera de Navigator for i "heritage" pour l'ancienne interface.
Cf https://www.ibm.com/support/pages/node/6483299
Depuis mars 2023, les PTF 5770SS1 V7R4M0 SI82187 et 5770SS1 V7R3M0 SI82188 désactivent la version héritage par défaut. Si vous souhaitez l'activer/désactiver manuellement : https://www.ibm.com/support/pages/node/6556828
Les évolutions livrées avec la 7.5 TR5 / 7.4 TR11 nécessitent :
IBM i 7.5 : SF99952 niveau 17
IBM i 7.4 : SF99662 niveau 38
Détail des groupes PTF : https://www.ibm.com/support/pages/node/6520030
Réseau
Ajout du wizard de configuration TLS des serveurs hôtes
Configuration des logs
cf https://www.ibm.com/support/pages/node/7130983
Licences
Les dates d'expiration des licences sont désormais affichées, et un code couleur permet de visuellement idnetifier le statut des partitions :
Sur le tableau de bord :


Dans la vue table :

L'icone est un lien vers la gestion des licences :

Sécurité
Améliorations du datamart
Cf https://www.ibm.com/support/pages/node/6570755
Performance Data Investigator (PDI)
Nouvelles perspectives ajoutées à Collection Services > CPU > Active Jobs :
- Active Jobs Count
- CPU Utilization by Prestart Job (WHERE (QOS.JBSTYP = 'J'))
- Job Count by Status & Prestart Jobs Count by Status
- Métriques : Jobs Started in Interval, Ended in Interval, Continued through Interval, Started and Ended
Job Count by Type

Job Count by Subtype

Cf https://www.ibm.com/support/pages/node/6570755
Intégration avec VSCode
Lorsque vous affichez l'instruction SQL sous-jacente à un affichage, vous pouvez demander l'exécution directement dans VSCode.
Nécessite l'extension DB2 for IBM i au niveau 1.4.0 minimum, 1.4.1 recommandé.
AJS - Advanced Job Scheduler
Toutes les fonctions sont désormais accessibles via l'interface de Navigator for i. Exemple :

Visual STUDIO CODE - CODE FOR I
De très nombreuses nouveautés !
Code for i est un projet Open Source, principalement géré par la communauté.
- Débogage avec point d'entrée de service
- Options de refactorisation



- DB2 : SELF, IA, update, notebooks, dépendances
update :

Dépendances :


- IBM i Renderer (SDA)
Possibilité d'avoir un preview pour les PRTF/DSPF



- IBM i Project Explorer
Développement IBM i en local.


- Source Orbit
Scan l'ensemble des sources et produit un arbre de dépendances pour une meilleure asisstance au développement.
Disponible en version CLI mais désormais sous forme d'extension VSCode, plus simple à utiliser.
Il s'intègre à IBM i Project Explorer

cf https://ibm.github.io/sourceorbit/#/ et https://www.nicklitten.com/course/install-configure-ibm-i-source-orbit
Cf https://marketplace.visualstudio.com/items?itemName=HalcyonTechLtd.ibm-i-development-pack
Il y a une roadmap
Voir aussi https://www.itjungle.com/2024/07/15/whats-cooking-in-code-for-ibm-i/
Stay tuned : https://www.seidengroup.com/vs-code-for-i-fridays/?
RDi - Rational Developer for i
Fix pack 9.8.0.3
cf https://www.ibm.com/support/pages/fix-list-rational-developer-i#9803

Focus :
- Indication si connexion sécurisée ou non dans les propriété
- Toujours dans les propriétés de connexion : ajout Keep alive
- Error list :le tri par sévérité permet d'avoir un tri secondaire par n° de ligne
- Vue structure supportée pour source de liage
- Attendu avec impatience : amélioration des performances d'accès à l'IFS !
- Ajout de l'aide sur les tags pour ILE Docs
Revenons sur ILE Docs : permet de générer de la doc HTML depuis des commentaires RPG.
Exemple :

Dans RDi : Ctl+i ou afficher Vue "Document ILE"
Références :
https://codefori.github.io/docs/developing/iledocs/
https://www.ibm.com/docs/en/rdfi/9.8.0?topic=editing-using-ile-doc
Pour fini, support des nouvelles fonctionnalités pour RPGLE : support de %proc, %hival et %loval
Fix pack 9.8.0.4
Mise à jour mineure ...
cf https://www.ibm.com/support/pages/fix-list-rational-developer-i#9804

Pour effectuer la mise à jour,démarrer RDi en tant qu'administrateur. Il est également nécessaire d'avoir déjà installée le fix pack 3.
Puis Aide -> Vérifier les mises à jour

Installation :

Nous avons rencontré des erreurs :

Au second essai :

Puis :

Vous pouvez également télécharger le zip depuis l'ESS. Il faut passer par le menu Aide -> Installer un nouveau logiciel, et modifier le référentiel :

Après installation :
- Mise à jour de la version de ACS embarquée en 1.1.9.7
- Mise à jour de Java embarqué en 11.0.25+9 (Semeru) release notes et CVE
- Mises à jour de sécurité