Modèle d'objet SAISIE

 

Le modèle SAISIE est un modèle sophistiqué permettant de gérer complètement les données d'une table. Les fonctionnalités disponibles permettent de Consulter, Rechercher, Modifier, Créer, Supprimer des enregistrements.

L'écran utilisé par le modèle doit avoir été défini depuis l'éditeur d'écrans d'Oxygène++ .

Liste des déclarations standards

Nom                                               Désignation

AIDE                                      Fichier d'aides
ECRAN                                 Ecran utilisé
BASE                                    Base de données à utiliser
TABLE                                   Table à lire
LIBELLES                             Table de libellés
REP_OBJ                             Répertoire de recherche des objets
SOCIETE                              Code de la société
VARIABLES                         Liste des variables utilisées
PARAMETRES                    Liste des paramètres formels
SRC_MODELE                    Fichier source contenant des modèles

TRI 1 à TRI 7                         Définition des critères de tri
CLASSEMENT                    Classement sur un champ séquentiel indexé   

ORDRE 1 à ORDRE 7        Ordre de tri pour chaque critère
ORDRE                                 Ordre de classement

Liste des déclarations spécialisées

Nom                                               Désignation

MODES                                 Modes opératoires autorisés

 

Liste des méthodes standards

Nom                                         Evénement correspondant

INIT                                         Initialisation

DEBUT_TRI                          Début du tri
SELECTION_TRI                 Acceptation d'un enregistrement pendant le tri

DEBUT                                  Début de l'objet

DEBUT_ACTIVATION         Activation de l'objet (prise du « focus »)
FIN_ACTIVATION                Inactivation de l'objet (perte du « focus »)

FIN                                         Fin de l'objet
SORTIE                                 Sortie de l'objet

APPEL_AIDE                       Appel d'une aide

Liste des méthodes spécialisées

Nom                                         Evénement correspondant

DEBUT_VISUALISATION   Début de visualisation

DEBUT_CREATION            Début de création
FIN_CREATION                   Fin de création

DEBUT_MODIFICATION    Début de modification
FIN_MODIFICATION           Fin de modification

VALIDATION                        Validation de création ou modification
ABANDON                            Abandon de l'opération en cours

SUPPRESSION                   Frappe commande de suppression

Fonctionnement de l'objet

L'objet gère une table principale, en utilisant un écran défini avec l'éditeur d'écrans, et éventuellement un menu défini avec l'éditeur de menus. La réglette d'actions offre à l'utilisateur de nombreuses fonctionnalités de recherche, consultation et modification des données.

Le fonctionnement de l'objet est en grande partie géré automatiquement par le schéma prédéfini du modèle. Différents modes opératoires sont disponibles ; le mode « Visualisation » permet de rechercher et de consulter les données existantes sans pouvoir les modifier, le mode « Modification » permet de modifier un enregistrement existant, les modes création et annulation permettent respectivement d'ajouter et de supprimer des enregistrements. Le programmeur décide des modes autorisés grâce à la déclaration MODES.

Les déclarations standards

ECRAN

La déclaration ECRAN est obligatoire dans un objet de type SAISIE, elle indique le nom de l'écran qui sera utilisé. L'écran doit avoir été défini avec l'éditeur d'écrans d'Oxygène++.

BASE et TABLE :

Les déclarations BASE et TABLE définissant la table principale sont facultatives dans un objet de type SAISIE. Si elles sont omises, le modèle prend comme table principale celle défini au niveau de l'écran. Si la base est omise, le modèle tiendra compte de celle déclarée au niveau du « Domaine » ou bien celle définie dans l'écran.

Les déclarations spécialisées

MODES

But : indication des modes opératoires autorisés, du mode initial, de la présentation initiale et éventuellement du caractère unique de l'opération demandée.

La liste des modes est constituée de la suite des premières lettres des modes concernés : V=Visualisation M=Modification, C=Création, A=Annulation.

Les combinaisons possibles sont :

V  C  M  VM  VC  VA  MC  MA  VMC  VMA  VCA  MCA  VMCA

Le mode initial sera indiqué par une lettre minuscule : v=visualisation, m=modification, c=création.

La présentation initiale sera sous forme de fiche, sauf si on ajoute la lettre L pour une présentation initiale sous forme de liste. L'unicité de l'opération sera indiquée par la lettre U.

D'autres combinaisons peuvent être utilisées dans des cas particuliers. Par exemple, AU permettra une annulation ponctuelle d'un enregistrement qu'il faudra choisir par positionnement dans la méthode DEBUT.

Exemples :

VMACv                      Tout est autorisé, débute en visualisation (défaut)          
VMACL                     Tout est autorisé, débute en visualisation en liste           
VM                             Visualisation et Modification autorisées   
CcU                            Création unique d'une fiche

Les méthodes standards du modèle

DEBUT

La méthode DEBUT déclenchée très tôt au moment de la création de l'objet pourra être utilisée pour se positionner sur un enregistrement particulier de la table principale. Par défaut, le schéma prédéfini se positionne sur le premier enregistrement de la table.

Les méthodes spécialisées du modèle SAISIE

DEBUT_VISUALISATION

Evénement : arrivée sur une fiche en mode VISUALISATION.

Action par défaut : Appel de la procédure DEBUT_FICHE

La méthode est déclenchée à chaque fois que la fiche en cours doit être réactualisée. En particulier lorsque l'utilisateur passe d'un enregistrement à un autre en utilisant les fonctions de déplacement (Suivant, Précédent, Premier, Dernier).

Cet événement est particulièrement utile pour afficher des informations annexes provenant de tables en lien ou résultant d'un calcul.

La méthode est déclenchée après lecture de l'enregistrement, mais avant réaffichage de l'écran, il est donc inutile d'utiliser l'instruction Afficher dans cette méthode.

 

DEBUT_MODIFICATION

Evénement : arrivée sur une fiche en mode MODIFICATION.

Action par défaut : Appel de la procédure DEBUT_FICHE.

Même remarque que DEBUT_VISUALISATION

N.B. : Ne pas confondre l'arrivée sur une fiche en mode MODIFICATION et le début d'une modification réelle. En effet, le début d'une modification réelle est associée à l'événement CTRL_DEBUT_MODIF.

Remarque importante : Le programmeur n'a pas le droit d'affecter les champs de la table principale dans cet événement, car cela est contraire à la logique du modèle saisie. Rappelons simplement, que le début d'une modification est une opération relativement complexe, en particulier dans un environnement multi-tâche et multi-poste. Le programmeur qui souhaite modifier directement les enregistrements doit respecter les automatismes du modèle. Dans le cas présent, c'est la méthode CTRL_DEBUT_MODIF qui prend en charge la gestion des conflits d'accès aux données.

DEBUT_CREATION

Evénement : Passage en mode CREATION d'une nouvelle fiche.

Action par défaut : Appel de la procédure DEBUT_FICHE

Si l'utilisateur a choisi l'option « Création avec les valeurs affichées », les champs de la table principale ne sont pas initialisés. Il est absolument indispensable d'initialiser dans cette méthode les champs qui ne sont pas saisis par l'utilisateur, comme par exemple des champs de cumuls.

La méthode est déclenchée avant réaffichage de l'écran, il est donc inutile d'utiliser l'instruction Afficher dans cette méthode.

 

Il n'y a pas de réservation implicite dans le cas d'une création d'enregistrement.

 

DEBUT_FICHE

Evénement : arrivée sur une fiche en mode VISUALISATION, MODIFICATION ou CREATION.

Action par défaut : aucune.

Cette méthode est appelée par les méthodes DEBUT_VISUALISATION, DEBUT_MODIFICATION, et DEBUT_CREATION. Le programmeur peut ainsi regroupé le code commun de ces méthodes dans cet événement générique. On utilisera la fonction Mode pour connaître le mode en cours (V,M ou C)

VALIDATION

Evénement : validation d'une création ou d'une modification.

Action par défaut : aucune.

La méthode est déclenchée lorsque l'utilisateur valide sa saisie que ce soit en mode MODIFICATION ou CREATION.

Cette méthode est particulièrement adaptée pour effectuer les opérations de contrôle de cohérence des informations saisies par l'utilisateur ou des contrôles d'homonymie. L'instruction Controler permet notamment de refuser la validation, et redonne la main à l'utilisateur sur l'information incorrecte.

Remarque importante : La méthode VALIDATION n'effectue pas les opérations de mise à jour de la table principale ; celles-ci sont effectuées plus tard (dans la méthode APRES_VALIDATION). Le programme ne doit pas effectuer lui-même les opérations de lecture et de mise à jour de la table principale (Modifier, ValiderTampon, AnnulerMaj, InitTampon, Ecrire, Annuler, Liberer, Reserver, etc...) car elles entreraient en conflit avec celles prévues par le modèle SAISIE.

ABANDON

Evénement : abandon d'une MODIFICATION ou d'une CREATION.

Action par défaut : aucune.

On peut placer ici, des opérations de nettoyages de table mémoire temporaire utile au moment de la saisie. Le programme ne doit en aucun cas effectuer lui-même les opérations de lecture et de mise à jour de la table principale (Modifier, ValiderTampon, AnnulerMaj, InitTampon, Ecrire, Annuler, Liberer, Reserver, etc...) car elles entreraient en conflit avec celles prévues par le modèle SAISIE.

 

FIN_MODIFICATION

Evénement : fin de modification d'une fiche.

Action par défaut : aucune.

La méthode est déclenchée après la méthode VALIDATION et après modification de l'enregistrement.

Cet événement est particulièrement adapté pour effectuer des mises à jour de table en lien.

 

Quand cet événement est reçu, la fiche en cours est déjà libérée. Il est donc important de ne pas effectuer dans cette méthode des mises à jour des champs de la table principale

 

FIN_CREATION

Evénement : fin de création d'une nouvelle fiche.

Action par défaut : aucune.

La méthode est déclenchée après la méthode VALIDATION et après création du nouvel enregistrement. Elle n'est pas déclenchée si l'utilisateur abandonne la création. On pourra libérer ici la table si on l'a réservée dans la méthode DEBUT_CREATION.

SUPPRESSION

Evénement : demande de suppression (annulation) d'une fiche.

Action par défaut : aucune.

La méthode est déclenchée lorsque l'utilisateur demande la suppression définitive d'une fiche. Le programmeur peut refuser la suppression en utilisant l'instruction Controler. Il peut également placer dans cette méthode des actions complémentaires comme la suppression de données en liens.

 

La méthode SUPPRESSION, n'effectue pas les opérations de mise à jour de la table principale ; celles-ci sont effectuées plus tard (dans la méthode APRES_SUPPRESSION). Le programme ne doit en aucun cas effectuer lui-même les opérations de suppression  de la table principale (Instruction Annuler) car dans ce cas elle serait faite en double.

Méthodes complémentaires

AFFICHAGE

Evénement : sur demande, associé à un bouton ou un menu.

Action : réaffichage de tout ou partie des contrôles.

Syntaxe d'appel : AppliquerMethode AFFICHAGE [ ( code1, code2 ... )]

La méthode prend en paramètres la liste des codes des contrôles à réafficher. Par défaut (en absence de paramètres), ils sont tous réaffichés.

L'intérêt de cette méthode par rapport à l'instruction Afficher réside dans les possibilités suivantes :

- le déclenchement direct sans programmation depuis un bouton ou un menu.
- l'envoi d'une demande d'affichage depuis un autre objet, ce que ne permet pas l'instruction Afficher.

INTERPRETATION

Evénement : sur demande, associé à un bouton ou un menu.

Action : exécution d'une suite d'instructions passées en paramètres dans une chaîne.

Syntaxe d'appel : AppliquerMethode INTERPRETATION ( expression alphanumérique )

La méthode prend en paramètre une expression alphanumérique ou une constante chaîne contenant les instructions à interpréter.

L'intérêt de cette méthode par rapport à l'instruction Interpreter réside dans les possibilités suivantes :

- le déclenchement direct sans programmation depuis un bouton ou un menu.
- l'envoi d'une demande d'interprétation depuis un autre objet, ce que ne permet pas l'instruction Interpreter.

Exemple d'objet SAISIE

Modèle SAISIE : Programmation avancée