Si vous chargez des dossiers ZY et ZX par NOZ sur un environnement possédant déjà des dossiers, il y a de fortes chances que les NUDOSS ZY d'origine soient re-numérotés.Du coup, les NUGEST ZX ne seront plus en phase avec les NUDOSS des dossiers ZY concernés.
Pour faire un constat, exécutez :
select
ZX00.NUDOSS, ZX00.NUGEST, ZX00.SOCCLE, ZX00.MATRIC, ZY00.SOCCLE, ZY00.MATCLE
from ZX00 LEFT OUTER JOIN ZY00 on ZX00.NUGEST=ZY00.NUDOSS
where (
(ZX00.SOCCLE<>ZY00.SOCCLE or ZY00.SOCCLE is null)
or
(ZX00.MATRIC<>ZY00.MATCLE or ZY00.MATCLE is null))
Ci joint un exemple d'update pour corriger ZX00.NUGEST.
Pour Oracle
update ZX00 set ZX00.NUGEST = (
select coalesce(
(select ZY00.NUDOSS from ZY00 where ZX00.SOCCLE=ZY00.SOCCLE and ZX00.MATRIC=ZY00.MATCLE)
,0)
from DUAL);
Pour DB2 remplacez DUAL par SYSIBM.SYSDUMMY1
A noter : Avec cet ordre SQL, les dossier ZX sans correspondance avec des matricules ZY auront un NUGEST nul.
SQL> select nugest from zx00;
181
SQL> select soccle,matric,nugest from zx00;
SOC MATRIC NUGEST
- - - - - - - - - - - - - - - - - -
FRR FRP1047 181
SQL> select nudoss,soccle,matcle from zy00 where nudoss = 181;
no rows selected
SQL> update ZX00 set ZX00.NUGEST = (select coalesce((select ZY00.NUDOSS from ZY00 where ZX00.SOCCLE=ZY00.SOCCLE and ZX00.MATRIC=ZY00.MATCLE),0) from DUAL);
1 row updated.
SQL> select soccle,matric,nugest from zx00;
SOC MATRIC NUGEST
- - - - - - - - - - - - - - - - - -
FRR FRP1047 0
Aucun commentaire:
Enregistrer un commentaire