|
|
|
WADELIA |
|
|
|
|
(I/B) (C) |
|
Paragraphe d'utilisation
GESTION_EVENEMENT, INIT_PGM, TRT_GUIDE et RETOUR
Syntaxe
TRAITER_PGM NomPgmOuIdVarAlpha TypeAppel SuiteParamètres
NomPgmOuIdVarAlpha |
→ |
NomPgm | &IdVarAlpha
|
TypeAppel |
→ |
*RETOUR | |
|
|
*RETOUR_AJAX AppelPopup | |
|
|
AppelPopup | |
|
|
*RETOUR AppelPopup | |
|
|
*PARENT | |
|
|
*PARENT *RESTE_ACTIVE | |
|
|
Rien
|
AppelPopup |
→ |
TypePopup | TypePopup(ParamPopup)
|
TypePopup |
→ |
*POPUP | *POPUP_MODAL
|
ParamPopup |
→ |
'SuiteAttributsVal' | 'SuiteAttributsVal' , NomPage | IdVar | IdVar , NomPage | ' ' , NomPage
|
SuiteAttributsVal |
→ |
SuiteAttributsVal , AttributVal | Rien
|
AttributVal |
→ |
Attribut=Valeur
|
NomPage |
→ |
' nom_d_une_page' | IdVarPage
|
SuiteParamètres |
→ |
SuiteParamètres Paramètre | Rien |
Description
Cet ordre arrête le traitement en cours et déclenche le traitement du programme WADELIA NomPgm ou de celui dont le nom du JSP est contenu dans la variable alphanumérique IdVarAlpha. Lorsque cet ordre est exécuté, les instructions qui le suivent ne sont pas exécutées.
Il est déconseillé d'utiliser cet ordre lorsque le TypeAppel n'est pas un AppelPopup dans un traitant d'événements AJAX si cet ordre est exécuté dans tous les cas d'exécution, car il provoque le chargement complet d'une nouvelle page, comme s'il s'agissait d'un événement non AJAX.
Remarque : pour un programme WADELIA batch, TypeAppel ne peut être que *RETOUR ou *PARENT.
Lorsque le TypeAppel n'est pas un AppelPopup ou *PARENT, le traitement du programme se fait dans la même fenêtre du navigateur Web que celle du programme courant.
Lorsque le TypeAppel est un AppelPopup, on ouvre une fenêtre "popup" et le traitement du programme se fait dans cette fenêtre.
Lorsque le TypePopup est *POPUP, la fenêtre ouverte est non modale par rapport à la fenêtre appelante.
Lorsque le TypePopup est *POPUP_MODAL, la fenêtre ouverte est modale par rapport à la fenêtre appelante (tant que la fenêtre est ouverte on ne peut plus agir sur la fenêtre appelante).
La fenêtre popup sera ouverte avec les attributs de la première page du programme appelé si on ne précise pas de NomPage, ou avec ceux définis pour la page NomPage (constante alphanumérique nom_d_une_page ou variable alphanumérique IdVarPage contenant le nom de la page) du programme appelé.
On peut également définir les caractéristiques de cette fenêtre en indiquant les valeurs des attributs (Javascript) de cette fenêtre, soit directement dans une constante alphanumérique (SuiteAttributsVal), soit dans la variable alphanumérique IdVar. Les attributs indiqués au niveau de l'appel sont prioritaires sur ceux définis au niveau de la page du programme appelé mais on continuera à utiliser l'attribut défini au niveau de la page si celui-ci n'est pas indiqué au niveau de l'appel.
Cliquer ici pour avoir le détail des principaux attributs Javascript possibles.
Lorsque le TypeAppel est *PARENT, le traitement du programme se fait dans la fenêtre ayant déclenché l'ouverture de la fenêtre "popup" courante. Ce type d'appel ferme la fenêtre "popup" courante, sauf si on a indiqué *RESTE_ACTIVE.
Lorsque le TypeAppel est *RETOUR (avec ou sans AppelPopup), l'instruction TERMINER dans le programme appelé déclenche automatiquement l'exécution du paragraphe RETOUR du programme appelant.
Lorsque le TypeAppel est *RETOUR_AJAX (avec AppelPopup), l'instruction TERMINER dans le programme appelé déclenche automatiquement l'exécution en mode AJAX du paragraphe RETOUR du programme appelant.
Dans un TRAITER_PGM, les paramètres transmis sont seulement des paramètres en entrée, sauf dans le cas où le TypeAppel est *RETOUR (ou *RETOUR_AJAX) (dans ce cas les paramètres sont en Entrée/Sortie).
Un TRAITER_PGM décharge le programme courant, sauf lorsque le TypeAppel est *RETOUR, *RETOUR_AJAX, *RESTE_ACTIVE ou un AppelPopup.
Dans le cas d'un TRAITER_PGM où le TypeAppel est *PARENT ou un AppelPopup, le contexte de niveau 'Request' du programme appelant n'est pas récupérable par le programme appelé.
Par exemple
VAR_CLE = 'InfoClient'
SAUVER_CTX VAR_CLE 'Session' ZCODE_CLIENT ZNOM_CLIENT ZADR_CLIENT
TRAITER_PGM DETAIL_CLIENT ZCODE_CLIENT
VAR_PGM = 'DetailClient'
TRAITER_PGM &VAR_PGM ZCODE_CLIENT
TRAITER_PGM GUIDE_CLIENT *RETOUR *POPUP WCODE_CLIENT
WFICHIER_AIDE = 'aide/DefClient.htm'
TRAITER_PGM PGM_AIDE *POPUP('resizable=yes, status=yes, screenX=300, left=300, screenY=200, top=200, height=400, width=180') WFICHIER_AIDE
* Au niveau de la page DETAIL_CLIENT, les attributs suivants ont été définis :
* "resizable=yes, status=yes, scrollbars=yes, height=400, width=200"
* on précise juste la position d'affichage au niveau de l'appel
TRAITER_PGM MAJ_CLIENT -
*POPUP('screenX=300, left=300, screenY=200, top=200' , 'DETAIL_CLIENT')