Vous avez besoin de connaitre les niveaux de PTF de 2 systèmes
Voici comment vous pouvez faire pour comparer les ptfs de 2 systémes
Pour les groupes
vous avez la vue QSYS2.GROUP_PTF_INFO
Vous allez devoir comparer les niveaux installées sur les 2 systèmes
voici comment faire simplement
Vous devrez faire une extration des éléments sur le système à comparer par exemple
create table gaia.remote_ptf as (
select * from QSYS2.GROUP_PTF_INFO
) with data
Vous envoyez le fichier sur la machine cible
select a.PTF_GROUP_NAME, a.PTF_GROUP_LEVEL, b.PTF_GROUP_LEVEL
from QSYS2.GROUP_PTF_INFO a join gaia.remote_ptf b on
A.PTF_GROUP_NAME = B.PTF_GROUP_NAME
pour n’avoir que les différences
select distinct
substr(a.PTF_GROUP_NAME, 1, 30) ,
a.PTF_GROUP_LEVEL, b.PTF_GROUP_LEVEL
from QSYS2.GROUP_PTF_INFO a join gaia.remote_ptf b on
A.PTF_GROUP_NAME = B.PTF_GROUP_NAME
where a.PTF_GROUP_LEVEL <> b.PTF_GROUP_LEVEL
Attention vous avez 2 niveaux de groupe dans le fichier, il faudrait améliorer le scripte en prenant un max pour avoir le plus haut sur les 2 systèmes
Pour les PTFs unitaires
vous avez la vue QSYS2.PTF_INFO, vous pouvez également utiliser un DSPPTF en OUTFILE
Vous allez devoir trouver les PTFs manquantes
Vous devrez faire une extration des éléments sur le système à comparer par exemple
create table gaia.remote_ptf1 as (
select * from QSYS2.PTF_INFO
) with data
Vous envoyez le fichier sur la machine cible
pour avoir les PTFs qui manquent sur le remote
SELECT a.PTF_PRODUCT_ID, a.PTF_IDENTIFIER
FROM QSYS2.PTF_INFO a exception join
gaia.remote_ptf1 b on
a.PTF_PRODUCT_ID = b.PTF_PRODUCT_ID and
a.PTF_IDENTIFIER = b.PTF_IDENTIFIER
si voulez les ptf qui manquent sur la source le plus simple est de changer l’ordre des fichiers
SELECT a.PTF_PRODUCT_ID, a.PTF_IDENTIFIER
FROM gaia.remote_ptf1 a exception join
QSYS2.PTF_INFO b on
a.PTF_PRODUCT_ID = b.PTF_PRODUCT_ID and
a.PTF_IDENTIFIER = b.PTF_IDENTIFIER
Remarque :
Vous pouvez une connexion DRDA pour comparer vos fichiers sans les envoyer, c’est paramétré chez vous
exemple :
select distinct
substr(a.PTF_GROUP_NAME, 1, 30) ,
a.PTF_GROUP_LEVEL, b.PTF_GROUP_LEVEL
from QSYS2.GROUP_PTF_INFO a join .QSYS2.GROUP_PTF_INFO b on
A.PTF_GROUP_NAME = B.PTF_GROUP_NAME
where a.PTF_GROUP_LEVEL <> b.PTF_GROUP_LEVEL
Vous avez des outils comme ARE qui permettent de faire ce type d’opération
un lien avec un exemple DSPPTF OUTFILE
https://www.ibm.com/support/pages/ptfs-comparing-ptfs-between-systems