X4 technique diva
...
A partir de la version :
...
Date
...
Auteur
...
Commentaire
...
X.4
...
09/01/2019
...
Bertrand Littel
Objet métier : généralités
Principe
Les objets métiers sont des modules diva qui ont pour vocation a gérer les données d'une table de l'ERP.
...
Plus le niveau est élevé, plus l'objet métier propose de fonctionnalités. Les dénominations sont issues de l'alphabet grec (de ALPHA a ZETA).
Objet métier : nouveau moteur import-export tableur
Principe
Un nouveau moteur 'a5ppimpexp_sql.dhop' d'import-export tableur a été développé afin d'avoir un mécanisme 'universel objet métier'. Ainsi, lorsque l'objet métier d'une table de l'ERP.
...
L'état actuel des objets métier ne permet pas de traiter les rubriques.
Un indicateur dans l'objet métier indique si la table peut être importée ou non par tableur.
Objet métier : gestion des notes
Principe
La gestion de notes dans les objets métiers se fait un deux phases :
...
Il s'agit, chez l'appelant, de bien distinguer le code diva qui gère la NOTE DE L'ENTITE de celui qui gère le CONTENU d'une NOTE POINTEE PAR L'ENTITE. Exemple : affichage d'une adr Par défaut la gestion de note est en mode 'affichage/saisie par fenêtre superposée'.
Description dans l'objet métier
1. FieldProperties
La fonction d'extension du dictionnaire Get_xxx_FieldProperties doit positionner l'attribut FieldIsNoteNumber = true pour le/les champ(s) qui contient(ent) une note.
...
Cette propriété va ensuite faire appel à une fonction pour donner des attributs spécifiques à la note.
2. Get de la note
On aura 2 constantes
...
La première doit donner un code interne unique dans tout l'ERP pour identifier la note dans l'entité. On lui donnera comme valeur : NOMDELATABLE_NOMDUCHAMPNOTE (car une même table peut avoir plusieurs champs)
...
Puis chaque note doit avoir une fonction Get_xxx_FieldNote_yyyy où yyyy est le NOMDUCHAMPNOTE sous la forme suivante
...
3. FieldNoteProperties
C'est une procédure Get_xxx_FieldNoteProperties qui donne, pour chaque nom de champ indiqué dans le FieldProperties, les attributs liés à la gestion de la note (objet, champ CE associé, code interne).
...
Les attributs sont : la fonction de la note de l'étape 2, les constantes de l'étape 2, et le nom du champ qui contient le CE de la note.
4. Effet
La mise en place de ces fonctions dans l'objet métier rend immédiatement opérationnel l'import/export de notes via tableur ou xml.
L'utilisation chez un appelant (zoom, programme) nécessite l'appel aux fonctions de gestion de notes du module A5PMCHK001.
Cas d'une note en affichage fenêtre superposée
C'est le cas général d'un zoom qui gère une entité qui contient une note.
...
le module a5pmnotejoint ne sert plus dans le zoom
les anciennes instructions Note_debut, Note_Reinit, Note_chargement, Note_suppression ne servent plus
l'attributions/modification du numéro de note est fait par a5pmchk001 lors du passage dans le moteur sql
le champ CE est modifié dynamiquement à l'appel de A5_ChkNote_Input permettant d'utiliser sa valeur pour les bitmaps
Cas d'une note avec saisie RTF dans le masque
Exemple GTTMCHKT041 et GTTZ081
...
le module a5pmnotejoint ne sert plus dans le zoom
les anciennes instructions Note_debut, Note_Reinit, Note_chargement, Note_suppression, Note_Maj_Etat_Charge ne servent plus
l'attributions/modification du numéro de note est fait par a5pmchk001 lors du passage dans le moteur sql
le champ CE est modifié dynamiquement à l'appel de A5_ChkNote_Input permettant d'utiliser sa valeur pour les bitmaps
mw.rtfnom cest toujours utilisé pour l'affichage rtf de la note
Objet métier : gestion des fichiers joints
Principe
Le mécanisme est strictement similaire aux notes. Le terme NOTE est remplacé par ATTACH.
Objet métier : centralisation des fonctions de réservations d'entité
L'objet métier contient les fonctions de réservations d'entité de la table qu'il porte. Les autres réservations sont inchangés.
...
Attention, cela implique que toutes les anciennes fonctions de réservation sont probablement renommées, mais sont écrites sous la même forme.
Objet métier : mise en cache d'une entité
Certaines entités (=tables) peuvent proposer la mise en cache des données afin de permettre à un appelant d'accélérer la lecture de données.
Mise en oeuvre dans l'objet métier
(Exemple : GTTMCHKT020) La mise en oeuvre passe par:
...
La mise en cache fonctionne pour une entité complète (allcolumns=true) ou non; chaque 'mode' ayant son propre cache
Seuls les éléments existants sont mis en cache (pas de cache sur les recherches en échec)
Seules les fonctions suivantes bénéficient du cache : Load_xxx, Give_xxx
Mise en oeuvre chez l'appelant
Un programme de consultation peut par exemple, dès le début du programme, activer le cache sur les entités considérées comme 'statiques' pendant la durée du programme.
...
Objet métier : inter-compagnie
Principe
L'inter-compagnie utilise pleinement les objets métiers. Voir la page dédiée à l'inter-compagnie et la documentation “Divalto Généralités Inter-compagnies.docx” pour plus de détails.