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.

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

...