A quoi sert la bibliothèque QRPLOBJ ?

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 !