La version 10.3 a re-structuré une partie du code diva en introduisant la notion “d'objet métier” qui permet de regrouper dans un même source les traitements 'métier' d'une table/entité, évitant ainsi la redondance ou la répartition de ces mêmes traitements (entre par exemple un zoom, un import excel, un import XML et un programme).
Des fonctions basiques, comme la réservation de l'entité ou le test d’existence, mais aussi des fonctions plus évoluées comme le contrôle de tous les champs d'une entité ou la duplication, sont ainsi gérées en un seul endroit.
Des fonctions permettent de simplifier l'écriture diva pour l'exploitation de ces objets métiers, par exemple pour récupérer le libellé d'un table simple.
Le système de gestion d'erreur intégré décharge l'appelant du numéro d'erreur qui sera traité dans l'objet métier.
Dans cette la version X.3 , des modules objet métier ont été développés pour toutes les tables de base du module 'Commerce et Logistique' et toutes les tables tiers (Tiers et sous-fiches de tiers), mais le mécanisme a été étendu par la suite.
...
Masque de saisie : contrôle de champs appelés dans les traitement après saisie
Zoom traitements :*
ZoomCreation : Authorize_xxx_Insert + Initialize_xxx_New
ZoomDuplication : Authorize_xxx_Insert + Initialize_xxx_Duplication
ZoomApresCleCreation : Check_xxx_Key + Get_xxx_Reservation
ZoomAvantWrite : Check_xxx + PreInsert_RecordSql
ZoomApresCreation : PostInsert_RecordSql
ZoomModification : Authorize_xxx_Update + Get_xxx_Reservation
ZoomAvantReWrite : Check_xxx + PreUpdate_RecordSql
ZoomApresModification : PostUpdate_RecordSql
ZoomSuppression : Authorize_xxx_Delete + Get_xxx_Reservation
ZoomAvantDelete : PreDelete_RecordSql
ZoomApresSuppression : PostDelete_RecordSql
Les fonctions action_Recordsql invoquent elles même les fonctions action_xxx de l'objet métier si elles existent.
Utilitaire importation excel :*
Initialize_xxx_New et Check_xxx_Key en cas de création nouvelle instance
Initialize_xxx_PostFetch pour compléter les champs non ou mal définis
Find_xxx + Get_xxx_Record pour charger une instance existante et traiter la
modification
Utilitaire importation xml :*
Initialize_xxx_New et Check_xxx_Key en cas de création nouvelle instance
Initialize_xxx_PostFetch pour compléter les champs non ou mal définis
Find_xxx + Get_xxx_Record pour charger une instance existante et traiter la
modification
Autre objet métier :*
Find_xxx + Get_xxx_Lib + Get_xxx_Record pour contrôler un champ clé étrangère de l'objet
Vous pouvez consulter le code source de zooms existants, comme le GTTZ021 (fiche client) ou le GTTZ046 (mode de règlement) et les objets métiers associés
...
Contrôle des données objet métier
Des messages d'erreur d'erreurs du type la case à cocher xxx n'est pas initialisée, liés à des problèmes d'initialisation de champs peuvent apparaître à partir de la version 10.3.
Exemples :
...
Liés aux objets métier, à partir de la version 10.3, de nouveaux paramétrages sont apparus et peuvent nécessiter une initialisation.
Pour mettre en oeuvre cette initialisation, l'utilitaire “ mise à jour des données objet métier 10.xxx ” est à disposition. L'utilitaire est accessible par le menu Administration/ Paramètres/ Utilitaires/ Mise à jour des données objet métier 10.xxx
...
Rappel : Une sauvegarde de la base SQL est recommandée, ainsi qu'une relecture du mode 'liste' avant de procéder a une quelconque correction des données.
...