Sur la version du DCG G3 (DCG : Dialog Code Generator)
/* <DCG_EXCEPTION id="644" label="idMenu = id du Choix Svi" type="Action"> */ idMenu = getIdChoix(getSessionSvi(request), choixSvi); /* </DCG_EXCEPTION> */
this.setReferenceInCtxSession( request, "idMenu", idMenu );
addLog(request, "CONFIRM DDSLG_objId { Si537a2ba562f88b0ed24e8fab80913509366c055c }");
En migrant sur le DCG G4 on a :
/* <DCG_EXCEPTION id="644" label="idMenu = id du Choix Svi" type="Action"> */ idMenu = getIdChoix(getSessionSvi(request), choixSvi); /* </DCG_EXCEPTION> */
addLog(request, "CONFIRM DDSLG_objId { Si537a2ba562f88b0ed24e8fab80913509366c055c }");
La mise en session est donc perdue, ce qui provoque des erreurs dans le parcours client.
Parfois, le setReferenceInCtxSession est présent après la balise </DCG_EXCEPTION> mais uniquement pour les cas simples (ce qui est à droite du égal est de type "primaire" comme un entier).
Il faudrait donc passer le code du setReferenceInCtxSession dans l'exception elle même.
/* <DCG_EXCEPTION id="644" label="idMenu = id du Choix Svi" type="Action"> */ idMenu = getIdChoix(getSessionSvi(request), choixSvi);
this.setReferenceInCtxSession( request, "idMenu", idMenu );
/* </DCG_EXCEPTION> */
addLog(request, "CONFIRM DDSLG_objId { Si537a2ba562f88b0ed24e8fab80913509366c055c }");