...
Jointures dynamiques X.11
...
...
A partir de la version :
...
Date
...
Auteur
...
Commentaire
...
X.12
...
Novembre 2024
...
BEL/VEL
Utilisation de .ActivateCase
Une nouvelle instruction de RecordSql permet de traiter des jointures variables. Le principe est de remplacer l'écriture de plusieurs jointures par une seule, en permettant de mettre dans un ‘case’ à l’intérieur de la jointure les éléments différentiateurs qui ont donné plusieurs jointures à l’origine.
...
Le code diva manipule dans ce cas une activation de jointure à la demande
Bloc de code |
---|
Switch Choix_Type_Statistique
Case C_PICOD_DEV
InterroStat.Join.Activate('ENT_DV')
Case C_PICOD_CDE
InterroStat.Join.Activate('ENT_Cd')
Case C_PICOD_BL
InterroStat.Join.Activate('ENT_BL')
Case C_PICOD_FAC
InterroStat.Join.Activate('ENT_FA')
EndSwitch |
La nouvelle fonctionnalité de jointure dynamique permet de passer à une nouvelle écriture
Exemple d'écriture pour utilisation du .ActivateCase dans le .DHSQ
Bloc de code |
---|
<Join NoActivate> GTFDD.dhsd ENT As ENT Case DEVIS USING EntetePiece_PicodFullPiNo(1, MOUV.PrefDvNo, MOUV.DvNo) Case COMMANDE USING EntetePiece_PicodFullPiNo(2, MOUV.PrefCdNo, MOUV.CdNo) Case BL USING EntetePiece_PicodFullPiNo(3, MOUV.PrefBlNo, MOUV.BlNo) Case FACTURE USING EntetePiece_PicodFullPiNo(4, MOUV.PrefFaNo, MOUV.FaNo) |
...
Cela implique des adaptations dans le code diva appelant pour lequel, il faut remplacer l’instruction instance.join.activate('Ent') par instanceMouvement.join.activateCase('ENT','UseCase')