Vous avez souvent sur vos machines de développements beaucoup d’objets à l’intérieur
Vous avez sans doute remarqué que quand vous compiler un objet et qu’il a des erreurs , il vous remet l’ancienne version.
Comment cela est il possible ?
A chaque compile l’objet est renommé est placé dans une bibliothèque qui s’appelle QRPLOBJ
Voici un schéma pour vous expliquer
Cette bibliothèque est clearée à chaque IPL
Pour connaitre la taille de la bibliothèque vous pouvez par exemple utiliser cette requête :
SELECT LIBRARY_SIZE FROM TABLE(QSYS2.LIBRARY_INFO(‘QRPLOBJ’))
Si elle grossit trop vous devrez faire un coup de ménage, attention elle est interdite par défaut il faut être *ALLOBJ pour faire cette opération
PS :
Vous avez aussi à l’intérieur des objets de type USRQ, USRSPC, c’est souvent sur les CRTxx ou vous pouvez indiquer REPLACE(*YES) sur l’API ou la commande …
Attention
Vérifiez bien votre résultat de compile avant de relancer votre programme sinon vous lancez une vielle version !
Pour en savoir plus sur le ménage:
https://www.ibm.com/support/pages/clearing-qrplobj-without-ipl
Attention
Au verrouillage , mais normalement vous ne devriez pas avoir d’objets verrouillés à l’intérieur ca peut indiquer un autre dysfonctionnement puisque cet objet sera effacé à l’IPL !