C’est quoi un Xmt_call
Le “Xml_call” est une fonction/procédure diva métier, présente partout dans les couches métier.
...
a5_xmt_call()
g3_xmt_call()
(etc…pour tous les modules)
xmt_call() mais qui n’est qu’une redéfinition de l’un des précédent
Principe d’un Xmt_call
Un Xmt_call a pour but d’appeler une ouverture, le nom de l’ouverture étant indiqué dans le xmt_call. Il va donc faire une recherche :
...
Remarque |
---|
La valeur ‘normale’ de retour d’un xmt_call est ‘O' quel que soit son nom. Il faut donc prêter attention au nommage vs le comportement attendu, car si le comportement attendu par défaut est par exemple un blocage, la fonction portera un nom qui fait entendre ceci. Par exemple une ouverture nommée “AccepterVentilation” a pour comportement par défaut de répondre ‘O' et donc implicitement le comportement attendu est d’accepter une ventilation. Si je supprime l’ouverture “AccepterVentilation”, le xmt_call retournera ‘O' ; la fonction d’ensemble doit continuer à fonctionner, et donc accepter par défaut toutes les ventilations. A l’inverse une ouverture nommée “RejeterArticleFerme” est volontairement inversée dans son sens, pour indiquer que par défaut le comportement attendu est de rejeter un article fermé. Si je supprime l’ouverture “RejeterArticleFerme”, le xmt_call retournera ‘O' ; la fonction d’ensemble doit continuer à fonctionner, et donc rejeter les articles fermés. L’ouverture permet donc ici de tester des critères qui permettraient d’accepter un article fermé, et donc de retourner 'N' !! |
Le Xmt_call_sql
Le Xmt_call_sql a été introduit avec l’apparition des RecordSql.
Le fonctionnemen est exactement le même, mais avec le passage obligé en variable du recordSql courant (le recordsql principale concerné par l’ouverture)
Exemples
Xmt_call_sql dans le CBN
Exemple pour la lecture des entrées forcées dans le CBN
...
VentilationEF_Selection_Stock_Av
reçoit le RecordSql Ventilation_Lire
positionne des conditions complémentaires
Procedure : aucun retour
VentilationEF_Selection_Stock
reçoit le RecordSql Ventilation_Lire
permet de tester des données de la ventilation courante
Fonction : retour ‘O' par défaut
Xmt_call dans un module PM
Exemple d’ouverture générique de haut niveau
...