Modèle d'objet TRAITEMENT

 

Le modèle TRAITEMENT permet une interaction simple avec l'utilisateur en utilisant un écran défini depuis l'éditeur d'écran d'Oxygène++. Ce modèle a peu d'automatismes, il est particulièrement adapté pour effectuer une saisie de type choix ; l'utilisateur ayant la possibilité de valider sa saisie ou d'abandonner.

Il peut également être utilisé sans écran. Dans ce contexte d'utilisation particulier, aucune interface utilisateur n'est possible ; il est alors utilisé pour effectuer des traitements complexes, des calculs ou des mises à jours de la base de données.

Liste des déclarations standards

Nom                                               Désignation

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

Liste des méthodes standards

Nom                                          Evénement correspondant

INIT                                         Initialisation
DEBUT                                  Début du modèle

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

Liste des méthodes spécialisées

Nom                                          Evénement correspondant

FAIRE                                    Méthode principale du modèle

VALIDATION                        Validation par l'utilisateur
ABANDON                            Abandon par l'utilisateur

Fonctionnement du modèle

Le modèle TRAITEMENT réagit différemment si on utilise ou non un écran. Les schémas prédéfinis sont les suivants :

Schéma logique du modèle sans écran

          Construction de l'objet

          INIT : Ouverture des tables

           

          AVANT_DEBUT

          DEBUT

          APRES_DEBUT 

           

          AVANT_FAIRE

          FAIRE

          APRES_FAIRE    

           

          AVANT_FIN         

          FIN                                                 

          APRES_FIN         

           

          AVANT_SORTIE                                    

          SORTIE      
          
APRES_SORTIE 

 

          Destruction de l'objet       


Schéma logique du modèle avec écran :

          Construction de l'objet
          
INIT : Ouverture des tables

                                  

          AVANT_DEBUT  

          DEBUT

          APRES_DEBUT 

           

          AVANT_FAIRE                                       

          FAIRE

          APRES_FAIRE    

           

Intervention de l'utilisateur au niveau de l'écran

Saisie des informations puis sélection d'une commande du menu (VALID ou ABAND)

 

VALIDATION

ABANDON

 

          AVANT_FIN         

          FIN  

          APRES_FIN         

           

          AVANT_SORTIE                                    

          SORTIE      
          
APRES_SORTIE 

 

          Destruction de l'objet       

 

 

Dans le cas d'une utilisation avec écran, l'objet de type TRAITEMENT ce positionne par défaut sur le premier enregistrement de la table principale.

Les déclarations standards

ECRAN

La déclaration ECRAN n'est pas obligatoire dans un objet de type TRAITEMENT. 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 TRAITEMENT. Si elles sont omises, le modèle prend comme table principale celle définie au niveau de l'écran. Si la base est omise, le modèle tiendra compte de celle déclarée au niveau du « Domaine » (c'est-à dire dans les déclarations globales du domaine) ou bien celle définie dans l'écran.

Les méthodes standards du modèle

DEBUT

La méthode DEBUT est déclenchée avant l'affichage (éventuel) de l'écran. On peut initialiser ici les données à afficher. On peut également effectuer une lecture de la table principale afin d'éviter le comportement par défaut qui positionne sur le premier enregistrement de la table principale.

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

FAIRE

La méthode FAIRE est la méthode principale d'un objet traitement. Elle est particulièrement utile dans le cas d'un objet sans écran, puisqu'elle permet une programmation totalement libre.

Dans le cas d'un traitement long, il est conseillé de rendre la main au système en effectuant une boucle de messages (cf : Instructions Continuer et NettoyerMessage).

VALIDATION

Méthode déclenchée lorsque l'utilisateur choisi l'action « Validation de la saisie » de code VALID dans le menu déroulant.

Le déclenchement de cette méthode ne provoque pas la sortie de l'objet. Si le programmeur le souhaite, il peut provoquer la sortie en utilisant l'instruction Sortir.

ABANDON

Méthode déclenchée lorsque l'utilisateur choisi l'action « Abandon de la saisie » de code ABAND dans le menu déroulant. Cette méthode provoque automatiquement la sortie de l'objet en passant par les événements FIN et SORTIE.

Exemple :

Objet TRAITEMENT : TRT1

Declaration
          
ECRAN : ”ECR1”
FinDeclaration
          

Methode VALIDATION        
          
ChainerObjet TRT2
FinMethode

FinObjet

Erreurs à ne pas commettre :

- Ne pas utiliser le modèle TRAITEMENT, quand un modèle CALCUL convient davantage, en particulier lorsque le traitement est susceptible d'être exécuté de nombreuses fois.

- Nous vous conseillons de lire le chapitre concernant les « messages et événements » de cette documentation et plus particulièrement le paragraphe intitulé « Envoi de messages asynchrones ».