Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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')