Professional Documents
Culture Documents
Support de formation
Dveloppement
Version 6
SAFE X3 DEVELOPPEMENT
PRE REQUIS
Pour accder cette formation, vous devez avoir au pralable :
SOMMAIRE
SOMMAIRE .................................................................................................................................................... 3
1. INTRODUCTION........................................................................................................................................ 7
2. TABLES ..................................................................................................................................................... 9
3. ECRANS .................................................................................................................................................. 15
4. OBJETS ................................................................................................................................................... 23
5. FENETRE ................................................................................................................................................. 31
6. MENUS LOCAUX..................................................................................................................................... 39
8. VUES ...................................................................................................................................................... 42
1. INTRODUCTION
Introduction
Le fonctionnement des traitements X3 est bas sur le principe dhritage des dossiers. Ainsi tous les
lments de type tables, traitements et tats dun dossier parent sont accessibles par le dossier fils
(applicatif). Les traitements, les tables et les tats standards sont tous prsents dans le dossier mre
X3, ils permettent le bon fonctionnement de tous les dossiers fils et ne doivent en aucun cas tre
modifis ou dplacs.
Introduction
Types de donne
Table
M. Locaux
T. Diverses
Codes activits
Objet
Types de donne
Fentre crans
M. Locaux
T. Diverses
Codes activits
Action : GOBJET Traitement standard SUBxxx
Traitement superviseur GOBJET
Traitement vertical SPVxxx
Traitement spcifique SPExxx
Traitement standard SUBxxx
Traitement vertical SPVxxx
Fonction : GESxxx Traitement spcifique SPExxx
Tous les lments que nous voyons ici sont rpertoris dans un dictionnaire X3, par exemple
le dictionnaire des tables, des crans etc
Ceci permet une classification, par lintermdiaire de leurs noms qui doit tre unique, ou de
leur module, ou de leur code activit. Par la suite, nous pouvons facilement retrouver un lment ou
un groupe en posant un filtre sur un browser, sur son nom par exemple ou en utilisant une slection
sur le module ou sur un code activit.
Tous ces lments peuvent tre protgs par un code activit sils sont modifis par un
dveloppement. Lobjet nest alors plus modifiable par intgration de patchs standards.
2. TABLES
2.1. RESUME
> Audit
Permet de tracer les modifications dune table.
2.2.1.Onglet Gnral
Idem pour les Abrviations : Axx / X,Y,Zxx table superviseur / table spcifique
Champs Intitul :
Renseignement des champs dintitul long et court pour les traitements superviseurs.
Ceci permet laffichage automatique de cet intitul dans les crans.
Champ Module :
Il dfinit le module dune table.
Lors de linstallation dune solution, nous pouvons activer les lments associs au module. Ceci
permet par exemple de dsactiver la gestion des stocks si les utilisateurs nen ont pas besoin.
Puisque les modules peuvent tre dsactivs dans un dossier client, il est ncessaire d'avoir une
cohrence dans l'affectation du module aux tables.
2.2.2.Onglet Champ
Champ Nom :
X, Y, Zxxxxxxx pour le spcifique (voir la fonction de codification).
Libells :
Descriptif du champ, numro stock dans la table ATABZON. Texte stock dans la table ATEXTE.
Code activit :
Permet didentifier un champ modifi en spcifique dans une table standard.
Options :
Slection en fonction du type interne (centr, positif, non nul).
Table lie :
Cette information garantit lintgrit de la base de donnes (annulation, Changement de code,
puration), il sagit de la table correspondant la clef trangre.
Expression de lien :
Si la table lie une cl primaire a plusieurs composantes, toutes les composantes doivent tre
dcrites dans ce champ. Le lien indiqu sera sous la forme : composant1;composant2;
Code annulation :
Action automatique engendre par lannulation dun enregistrement dans la table lie.
Raz :
Le champ sera effac par lutilitaire de remise zro du dossier.
2.2.3.Onglet Index
Cl primaire :
La cl primaire est le 1er index saisi. Elle doit tre unique, et obligatoirement renseigne. Elle
se nomme par convention abrviation de la table + 0, les autres clefs sont nommes de 1 en 1.
Descripteur :
Contient 1 ou plusieurs champs non indics
+champ : tri en ascendant sur ce champ
-champ : tri en descendant sur ce champ
Remarque : le 1er champ est sans signe et est forcment ascendant
Les descripteurs doivent tre distincts (champs et sens)
Code activit :
Permet de dfinir une cl spcifique
Fichier de configuration :
Non renseign par le standard. Il permet l'utilisateur d'avoir la main sur l'instruction Create
Table.
Cet outil permet de tracer les connexions / dconnexions, cration, modification, suppression
denregistrement.
Paramtrage :
Onglet rserv au spcifique (paramtrage)
Onglet optionnel (Code activit AUDIT)
Stockage de ce paramtrage (ATABLE, ATABAUD)
Rsultat audit :
Affichage systmatique des crations et suppressions denregistrement.
Affichage des enregistrements dont les champs modifis correspond au paramtrage.
Concernant la cl :
15 index
16 champs par index
250 caractres par index
Concernant l'enregistrement :
Sous SQL, la limite est de 8060 octets
Sous Oracle, il n'y a pas de limite; mais sous Adonix, on a fix la limite 32K
Mode de stockage :
unicode ou ascii
Enregistrer, Crer :
Enregistrement ou cration de la table dans le dictionnaire X3. Attention, aprs une action de ce
type, lobjet nest pas prsent ou modifi dans la base de donnes.
Validation :
Enregistrement ou cration de la table dans la base de donnes. Cration dans le rpertoire
nom_dossier\FIL des fichiers .srf .fde .cfg.
Traitement :
Cration dun traitement temporaire WWINIxxx ( xxx = abrviation de la table ) excut la
validation de la table pour initialiser des champs. Ce traitement sera effac ds la validation termine
et la fentre de la table quitte, pour ne pas lancer linitialisation chaque validation de table.
Copie :
Copie de la description de la table dans le dictionnaire dun autre dossier une validation de la
table sera ncessaire ; les donnes ne sont pas copies. Si llment existe dj dans le dossier
rcepteur, un message davertissement est affich et le choix est donn lutilisateur de poursuivre ou
darrter. La copie se fait sur un dossier de mme machine et mme port par dfaut.
La copie peut se faire sur un dossier dune autre machine, dun autre port, par la syntaxe suivante :
machine:port@dossier
RAZ :
Effacement des donnes, le bouton est actif mme si le flag remise zro pour cette table
nest pas positionn. Attention, aucun contrle de cohrence.
Supprimer :
Supprime la table de la base de donnes, *.srf, *.fde et la description dans le dictionnaire.
Si besoin de :
stocker utilisateur et date de cration et modification.
faire des exports sur les enregistrements modifis ou crs depuis le dernier export.
Ceux-ci sont dclarer dans la table, mais pas ncessairement dans lcran.
Les traitements superviseur (moteur) alimentent automatiquement ces champs.
Ces champs ne sont utilisables que sur une gestion de type objet.
CODE ACTIVITE :
Sur les blocs de type tableau, la dimension du code activit dtermine le nombre de lignes
LIGNE :
Sur les blocs de type tableau. Cest le nombre de lignes.
OPTION :
Sur les blocs de type tableau
BAS DE PAGE :
Contient le nom dune variable technique stockant le nombre de lignes rellement saisies. Elle
est dfinie dans longlet des champs de type numrique non affiche avec le type de donnes ABS.
TABLES DE REFERENCES :
Permet daller chercher les champs afficher lcran directement dans la base de donnes.
3.5.1.Clob :
Paramtres :
Le nombre de lignes affich pour le clob.
Le nombre de colonnes affich pour le clob.
Le type de texte : rtf, txt, indtermin. Si le type de texte est indtermin, en saisie du texte,
lutilisateur pourra choisir entre texte enrichi et texte brut.
3.5.2.Blob :
Paramtres :
Occupation : Lignes et colonnes physiques
Type photo :
Normale
Etire
Proportionnelle
Menu contextuel :
Slectionner
Enregistrer
Ce type de champ est stock dans lcran en alphanumrique de longueur au moins gale 3. La
valeur du champ dtermine l'icne afficher (0 299). Une chane vide provoque l'effacement de
l'icne.
Norme : pas dintitul sur champ icne
La colonne Objet graphique doit tre positionne icne.
3.5.4.Champs de paramtrage
Certains champs de lcran sont considrs comme du paramtrage : Aide, Code accs, Style, Table
de contrle sur longlet Champs . La mise jour de ces champs ne ncessite donc pas de code
activit spcifique, ils ne seront pas crass par une mise jour de patch.
Laide :
Laide est cre dans les tables X3 ddies.
Une fonction pour saisir laide sur champ, une autre pour saisir laide fonction.
Laide standard est uniquement dans le dossier mre.
Laide spcifique sera dans le dossier fille.
Etre dclare dans la colonne Paramtre paramtre sur le bloc tableau de lcran.
Etre appele sur la premire ligne du bloc tableau dans longlet Champ de lcran.
Ce champ doit tre de type ABS.
Ce champ contient le nombre de lignes afficher du tableau. Il est appel par convention NBLIG,
dans certains cas, ce nom est obligatoire. Ce champ est de type de donne ABS. Il est saisissable si
le tableau est saisissable et invisible si le tableau est invisible.
Exemple
Ecran SOH4 contenant les lignes de commandes de ventes.
Traitement W0xxx :
Traitements entirement gnrs pour limport
Traitement W1xxx :
Traitements entirement gnrs pour la saisie
Notes
4. OBJETS
4.1. DEFINITION
Un objet X3 est le lien entre une fentre (linterface graphique) et une table (la base de donnes).
Ce lien permet la gestion de laffichage et de lenregistrement des donnes par les traitements moteur
(superviseur) en fonction du type de gestion choisi pour lobjet.
Liste
ListeGauche
Gauche Objet
Objeten
encours
coursde
degestion
gestion
Listes
Listesdes
des Clef
Clefde
delenregistrement
lenregistrementdans
danslcran
lcrandentte
dentte
objets
objets
affichables
affichablessur
sur Listes
Listesdes
deschamps
champsregroups
regroupspar
paronglets
onglets
slection
slection fonctionnels
fonctionnels
Liste
ListeGauche
Gauche Objets
Objetsen
encours
coursde
degestion
gestion
Listes
Listesdes
des Clef
Clefde
delenregistrement
lenregistrementdans
danslcran
lcrandentte
dentteet
et
regroupements
regroupements dans un champ du tableau.
dans un champ du tableau.
dobjets
dobjets
affichables
affichablessur
sur Listes
Listesdes
desenregistrement
enregistrementdu
dugroupe
groupedans
dansles
les
slection
slection lignes du tableau.
lignes du tableau.
La cration et la suppression dun groupe se fait par : fichier nouveau et le bouton bas dcran
supprimer
Une liste de picking servant mettre jour les lignes dun tableau.
Exemple Vente>Commandes>Commandes la liste de picking des devis.
Ecran de slection :
1- paramtrage de la liste gauche et des crans de slection et slection avance
index : si non renseign 1er index ascendant
option de slection : application doptions de slection sur la (f. de slection) de lobjet *
liste hirarchise : oui / non ( l. gauche)
nb caractres : pris en compte pour le dbut de recherche (f. de slection)
champs : correspondant la cl primaire (l. gauche & f. de slection)
4.6.4.Onglet environnement
Tables :
Permet douvrir des tables automatiquement lexcution de lobjet, ces tables sont alors
utilisables dans les traitements.
Cl de lien :
Cl de parcours utilis, par dfaut il sagit du premier index de la table. Si le champ est
renseign alors la clef doit tre sans homonyme.
Expression de lien :
Lien entre la table principale et la table dfinie ici. Utilis pour les champs de la liste de
gauche. Utilis pour la recherche des statistiques lies lobjet.
Louverture et la fermeture des tables sont gnres dans le traitement WOxxx. ( xxx = code objet )
4.6.5.Onglet Vues
Si labrviation nest pas renseigne, le vue est ouverte sous son abrviation dictionnaire.
Le nom et labrviation dune table ou dune vue doit tre unique sur lensemble ( table & vue )
4.6.6.Champs de paramtrage
La mise jour de ces champs ne ncessite donc pas de code activit spcifique (ils ne seront pas
crass).
La mise jour peut seffectuer directement en gestion dobjet, ou par la fonction du menu
Paramtrage / Paramtres gnraux / Personnalisation objets .
Notes
5. FENETRE
5.1. DEFINITION
Fentres
Dfinition
La fentre contient les crans afficher et lobjet faisant rfrence la table principal.
Fentre
Fentre
++ Boutons
Boutons/ /Menus
Menus Objets browser
Fentre objet :
Elle se nomme Oxxx ( xxx=code objet )
5.2. RESUME
Onglet Ecrans
Dclaration des crans
Dfinition du type de fentre, objet pour la gestion dobjet.
Onglet Boutons/menus
Ajout des boutons bas dcran et des menus spcifiques
Onglet Browser
Ajout des listes gauches spcifiques, exemple fentre OSOH (gestion des
commandes)
Type fentre :
Objet
5.7.1.Objectif
5.7.2.Marche suivre
5.7.6.A vrifier
5.7.7.Etape n 3
Cration dun patch pour sauvegarder les lments cres, ou les installer sur un autre dossier.
Crer votre patch par le menu : Dveloppement / Utilitaires / Patch / Cration automatique de patch,
En slectionnant lensemble des lments ayant le code activit YSO.
Notes :
6. MENUS LOCAUX
6.1. DEFINITION
Dfinition
Dfinit une liste finie de valeurs saisissables pour un champ. Exemple, le menu local
1 contenant les libells oui et non .
Les menus locaux tant souvent utilis en dveloppement ceux-ci ne sont pas
modifiables.
Les libells peuvent tre traduits.
A la cration le numro du menu local doit respecter les plages donnes ci-dessous.
Messages :
Vertical 160 - 169
5000 5199
Spcifique 6000 6199
Menus locaux :
Vertical 1000 1999
5200 5999
Spcifique 6200 6999
Modifiable :
Permet lutilisateur de modifier ce menu local par le menu de paramtrage.
Colonne Code :
Sert au transcodage en import / export
Principe :
code + libell : stocks dans la table APLSTD
description : stocks dans la table AMENLOC
Le code est stock dans le champ de type de donne M ou MM dune table fonctionnelle.
7. TABLES DIVERSES
7.1. DEFINITION
Principe :
Description : est stocke dans la table ATABTAB.
Donnes : sont stockes dans la table ATABDIV.
Sa cl est compose par : le numro de table + le code
Le code peut contenir jusqu 20 caractres depuis la V6
Les donnes sont :
Un code pour lenregistrement
Une dsignation longue
Une dsignation courte
2 champs alpha (facultatifs)
2 champs numriques (facultatifs)
Filtre sur la socit (GSOCIETE) et sur la lgislation (GCURLEG) (facultatif)
Table de dpendance (pour lier une table une autre)
Modifiable :
Par dfaut une table diverse est modifiable par la fonction GESADI, mais elle pourrait ne pas ltre.
Une fois la dfinition de la table diverse cre, la table diverse doit tre renseigne.
Elle est renseigner dans le menu :
Dveloppement>Dictionnaire donnes>Tables diverses>Donnes
Affectation dun champ obligatoire contrl par cette table par laction dinit du champ (chapitre 9 sur
les actions sur champs).
Cette gestion permet une hirarchisation entre tables divers, par exemple avec la table famille et la
table sous-famille des articles.
Tout dabord, renseignement dans la dfinition de la table fille, dans le champ table de
dpendance de la table mre.
Exemple dans la dfinition de la table N21 Stat. 2 article .
Renseignement de llment mre pour tous les lments fils dans la colonne dpendance de la
fonction de saisie des donnes.
Paramtrage sur lcran appelant la table diverse ; clic droit sur le type de donnes ADI, puis
renseignement des paramtres suivants :
_ numro de table diverse fille
_ champ contenant le numro de la table mre
Exemple cran ITM1 pour le champ TSICOD statistique.
Nouveaut V6 :
Les champs dimensionns tels que TSICOD ont un numro de table paramtr avec la formule
(numro de table mre)+indice .
Le champ tables diverses contient : func TRTX3.DEPFAM(TSICOD,indice,20)
Validation de la vue
Le fichier *.viw est cr avec le script adapt la base de donnes du dossier courant
Contrle syntaxique
8.2.3.Onglet champs
Aide la cration
Fentre permettant la saisie dune table et la slection dun ou plusieurs champs associs
8.2.4.Onglet Cls
Performances
Table sans trop denregistrements, ou avoir une clause Where pertinente
Vues du superviseur :
AVIEWTAB : union des tables et des vues. Utilise dans lditeur de formules
AVVTEXTRA : produit table langue et texte traduit
AVWTEXTRA : jointure externe entre la vue AVVTEXTRA et la table ATEXTRA
Dossier historis
Les vues du dossier principal sont cres automatiquement dans le dossier historis la cration du
dossier historis, et la validation des vues.
Une vue sutilise globalement comme une table, avec les restrictions suivantes :
Utilisable en lecture uniquement
Ne peut pas tre prcise dans les champs tables des dictionnaires
Nintervient aujourdhui que dans le dictionnaire des objets.
Code activit peut tre actif ou inactif, ce type de code activit ne doit tre utilis que sur des
lments ayant un rapport avec les localisations.
Code activit peut tre actif ou inactif, il peut tre dimensionn et permet didentifier un
vertical.
Ce type de code activit devra tre systmatiquement utilis pour protger les
dveloppements spcifiques des intgrations de patchs standards.
Pour ne pas avoir le risque d'avoir un type de donne associ inexistant, le type de donne est
remplac par un type de donnes "de base" correspondant au type interne du type de donne initial :
C pour numrique,
DCB pour nombre dcimaux
D pour Date
A pour tout le reste. ces champs de type A seront sur 1 caractre.
Pour un champ dimensionn avec code activit inactif, sa dimension champ de table sera 1.
Dveloppement :
Un champ soumis un code activit dans une table, est toujours prsent avec une dimension
1.
Pour un champ dimensionn avec un code activit inactif, il faut imprativement tester le code
activit.
Utiliser, pour cela, la fonction ACTIV du traitement AFNC.
Erreurs viter sur code activit, car peut entraner des pertes de donnes :
un code activit absent tort, sur un champ spcifique : le champ sera supprim de la base
de donnes.
un code activit inactif tort, sur champ alpha : le champ sera rduit 1 seul caractre dans
la base de donnes.
un code activit inactif tort, sur champ dimensionn : le champ sera rduit 1 seule
occurrence dans la base de donnes.
Notes
10.1. DEFINITION
Les actions sur champs permettent de renseigner des contrles, des affichages ou div
Action champ
Code action
place sur un champ
Traitement nomm sur cran
STD SUBxxx
SPV SPVxxx
SPE SPExxx
Action champ
Avant_zone :
Init :
Initialisation dun champ
Ex : [L]VALEUR = toto
Attention, dans un tableau, linit est seulement actif la cration de ce tableau.
Avant_saisie :
Aprs_zone, Aprs_modif :
Alimentation et affichage dun champ suivant
Ex : [M:ABC]champ = toto : Affzo [M:ABC]champ
Actzo [M:ABC]champ : # dgrisage du champ
Diszo [M:ABC]champ : # grisage du champ avec conservation du focus
Grizo [M:ABC]champ : # grisage du champ sans conservation du focus
Zonsui = [M:ABC]champ : dplacement sur un autre champ
Action champ
Menu contextuel
Type action Contexte dappel & emploi Etiquette
IB_zone :
Activation dsactivation en attribuant ou pas un libell au bouton.
On utilise les variables [V]GBOUT1 [V]GBOUT20, pour stocker ce libell.
[V]GBOUTS, [V]GBOUTA, [V]GBOUTI pour slection, slection avance, clic
Ex :
[V]GBOUT1 = mess(90,198,1) Activation du bouton 1
Raz [V]GBOUT1 Dsactivation du bouton 1
S_zone :
Aprs la slection, le curseur se positionne automatiquement sur le champ suivant
Positionner mkstat = 2, pour bloquer le curseur sur le champ courant.
Bi_zone :
Excution du bouton i
Utilisation dune action dictionnaire si saisie/affichage dune fentre (pour version Web)
Positionner mkstat = 4, pour dclencher lactivation du bouton enregistrer.
Positionner mkstat = 99, pour positionner le curseur sur le champ suivant.
Remarque :
Le bouton B1 est pris par le superviseur sil y a un type de donnes li lobjet.
Action champ
Icne
Type action Contexte dappel & emploi Etiquette
CL_zone :
Valeur contient le code de licne
Utilisation dune action dictionnaire si saisie/affichage dune fentre (pour version Web)
Positionner mkstat = 4, pour dclencher lactivation du bouton enregistrer.
Variables globales
non modifiable
GREP :
vide : visualisation
A : annulation/suppression
C : cration
D : duplication
M : modification
GIMPORT :
1 : traitement d import / export
0 : autres traitements
GERR :
1 : message d erreur
2 : message d information
3 : message d avertissement ( avec possibilit d arrter le traitement )
4 : message en bas d cran
Variables systmes :
nolign nolign-1 est le numro de ligne courant dans un tableau droulant
indice indice courant dune variable dimensionne ( de 0 N-1, N tant la dimension de la variable)
mkstat statut derreur suite saisie, ou statut permettant de conditionner la saisie
status statut de retour dune instruction de saisie
fstat statut de retour dune opration sur table ou dune instruction de verrouillage
CONTOBJW
Paramtre renseigner dans le dictionnaire cran dans le menu contextuel du type de donne. (dans
notre exemple, la devise)
Variable :
Variable globale permettant de passer le paramtre au sous-pro SETDEV.
Si lobjet est identifi par une cl 2 composantes, la 1re composante est considre
comme un paramtre qui sera saisi dans le dictionnaire des crans par le menu contextuel du
type de donnes. Exemple : type ADI.
Pour dsactiver le contrle dexistence de la valeur dans la table lie lobjet, 2 actions disponibles :
Texte traduit
Texte avec possibilit dafficher la traduction pour les langues dclares dans le
dossier.
Ses actions :
LECTEXTRA : lecture et affichage du texte de la table ATEXTRA
ATEXTRA : fentre de saisie du texte dans les diffrentes langues gres dans le dossier.
Programmation :
Cl de la table ATEXTRA :
Nom de la table contenant le champ de type AXX
Nom du champ de type AXX
Langue
Cl_enreg(1)
Cl_enreg(2)
Les clobs sont les champs pouvant contenir des textes longs. Les blobs contiennent les fichiers
binaires, tel que les images.
Affectation longueur
Voir la documentation fonctionnelle (1024 o * 2^n)
Les champs clob sont directement stocks dans la table ACLOB, les blob dans ABLOB
Remarque :
Les formats d'image supports par Crystal 2008 sont : JPG ou JPEG - Photographic Experts BMP -
bitmap TIF - Tagged Image File Format PNG - Portable Network Graphics
Attention !
Les images de type *.GIF ne sont pas supportes par Crystal.
Les images de type *.TIF et *.PNG ne sont pas supportes par le client X3.
Type
K affichage dune chane de caractres
N affichage dun nombre
D affichage dune date
Options (commune)
c affichage dun champ en couleur suivant la variable [S]pcolor (bloc tableau)
z commentaires non affichs quand la valeur du champ est nulle
X saisie masque
= centr (uniquement sur champ de bloc tableau)
< cadr gauche (uniquement sur champ de bloc tableau)
> cadr droite (uniquement sur champ de bloc tableau)
Chane de formatage
n1 T1 n2 T2 .... n1, n2 sont des nombres optionnels (1 par dfaut)
T1, T2 sont des types de caractres admis
Possibilit dy ajouter des commentaires dlimits par les caractres [ et ]
Ces commentaires ne sont pas stocks dans la base. (Uniquement affichs)
Ils peuvent tre placs en dbut, milieu ou fin de chane.
Options (nombre)
D placement du signe derrire le nombre
F nombre flottant
+ nombre positif
- affichage systmatique du signe
* complte avec des * devant le nombre
0 complte avec des 0 devant le nombre
3 sparateur de groupe
Options (date)
Z date nulle autorise
Exemples
Les formats GFMx sont initialiss d'aprs les options du poste client (comme les champs date sur
cran). Pour les formats de date, utiliser ces variables globales, et non pas les formats prdfinis du
langage. Par exemple format$("D:"+GFMDAT4,date$) et non pas format$("DD2",date$) qui est fig
par le moteur.
Type de donne
Action sur champ
Bouton
Slection
Click sur icne
11.11.1. Objectif
Dvelopper une gestion des clients sous forme entte, 2 onglets et liste gauche.
Table diverse
Cration de la table diverse 1000 Secteurs gographiques qui comprendra un intitul et un intitul
court.
Cration de quelques enregistrements dans cette table des secteurs gographiques.
Exemple : NORD, SUD, EST, OUEST.
YCNTLASTYP :
Ajouter votre menu local.
YCNTLASDAT :
Date nulle autorise. Se servir des options du champ.
YBPCREM :
Transformer ce champ en clob.
Onglet 2 gnral
11.11.3. A vrifier
12.1. DEFINITION
Le principe des modles est le suivant, rendre automatique des traitements utiles dans les
diffrents contextes de lapplication (gestion dobjet, consultation, traitement batch) et de permettre
lajout de traitements spcifiques via des vnements (ouverture de fentre, enregistrement des
donnes, changement denregistrement).
Prenons comme exemple lobjet des clients ralis dans lexercice prcdent. Il na pas t
ncessaire dajouter de traitement pour permettre la mise jour ou laffichage des donnes, les
traitements superviseurs ont pris en compte automatiquement ces besoins. Ces traitements sont
effectivement appels pour une fentre contenant un objet et impliquant donc une gestion dobjet.
Modle objet
Types de donne
Table
M. Locaux
T. Diverses
Codes activits
Objet
Types de donne
Fentre crans
M. Locaux
Unique T. Diverses
Codes activits
Action : GOBJET Traitement standard SUBxxx
Traitement superviseur GOBJET
Gnre Traitement vertical SPVxxx
Traitement spcifique SPExxx
Traitement standard SUBxxx
Traitement vertical SPVxxx
Fonction : GESxxx Traitement spcifique SPExxx
Gestion dobjet
LAction GOBJET lance est unique pour tous les objets quils soient standards ou spcifiques. (Voir
chapitre sur les actions)
Traitement superviseur unique : GOBJET
Le traitement GOBJET permet : _ Laffichages des enregistrements
_ Leur suppression, modification, cration
_ La gestion de la liste gauche principale
Attention ! Tous ces automatismes ne sont grs que pour la table lie lobjet
Fonction gnre : GES+ code objet
Modle objet
ANUCOD SUBxxx
SUBxxx
ANUCOD
GOBJSUB
GOBJSUB
SPVxxx
SPVxxx
CHGCOD
CHGCOD
SPExxx
SPExxx
GOBJET1
GOBJET1 GOBJET2
GOBJET2 GOBJET3
GOBJET3
(simple)
(simple) (tableau)
(tableau) (combin)
(combin)
TABLEAUX
TABLEAUX
(dtail)
Copyright Sage(dtail)
2009-2010 Safe X3 Dveloppement 39
Ces traitements permettent laffichage, la cration, la modification, la suppression des objets X3, sans
ajout de code spcifique.
12.2.1. Principe
Une fois le modle appel, il est alors possible dutiliser les diffrents vnements lis ce
modle. Le traitement ci-dessous permet par exemple de prendre la main louverture du traitement
(action OUVRE) pour venir en ajout du traitement GOBJET courant. Cette action est surtout utilise
pour dclarer les variables utiles au traitement spcifique.
Modle objet
$ACTION
Superviseur SUBxxx Case ACTION
When OUVRE : Gosub OUVRE
When default
Endcase
return
Modle objet
$ACTION
Case ACTION
When OUVRE : Gosub OUVRE
When RAZCRE : Gosub RAZCRE
When default
Endcase
Return
$OUVRE
Local char ma_variable
ma_variable = test
Return
$RAZCRE
[M]CHAMP = ma_variable
Return
Modle objet
Lock
Locklogique
logique
La saisie
Lock
Lockphysique
physique
Trbegin
La transaction de mise jour
Commit
CINEMATIQUE DE LOBJET :
Le superviseur ne gre en automatique quune seule table : la table principale lie lobjet.
Le traitement applicatif doit prendre en charge les lectures et mises jour sur les autres tables.
1 - La saisie
Lecture si lenregistrement existe et affichage des champs par basculement de la classe [F] fichier
vers la classe [M] masque, puis lock logique de lenregistrement. A la suite de ce lock, aucun
utilisateur ne pourra modifier lenregistrement via linterface graphique.
Les vnements utilisables en gestion de cration dun enregistrement sont les suivants :
Modle objet
Trbegin
INICRE aprs le chargement de la classe [F]
12.2.2.1. RAZCRE
Cette action est lance en tout dbut de cration aprs clic du bouton nouveau , avant la saisie.
Sert :
initialiser les variables de la classe [M]
activer / dsactiver des champs par Actzo, Diszo, Grizo
Ncessite :
le rafrachissement de lcran par Affzo [M:abrev]1-99
il faut prciser le nom de lcran
Ex. de devis:
###########################################################################
# -- gestion des textes
[M:SQH0]SQHTEX1 = "" : [M:SQH0]SQHTEX2 = ""
[M:SQH0]ANCSQHTEX1 = "" : [M:SQH0]ANCSQHTEX2 = ""
Raz [M:SQH2]SQDTEX
Raz [M:SQH2]ANCSQDTEX
Call RESET_IMAGE (4) From GESECRAN
12.2.2.2. VERIF_CRE
Action lance aprs la saisie du bouton crer , avant la transaction de mise jour.
Sert :
effectuer des contrles globaux
interrompre le traitement et retour la saisie: [L]OK=0
afficher un message : GMESSAGE
indiquer le type de message : GERR
Positionnement du curseur (nom de champ) : [S]zonsui
Ex. de devis:
###########################################################################
# --> Il doit y avoir au moins une ligne
If [M:SQH2]NBLIG = 0
GERR=1 : GMESSAGE = mess(61,199,1) : OK=0 : [S]zonsui= [M:SQH2]NBLIG : Return
Endif
###########################################################################
12.2.2.3. INICRE
Action lance en dbut de transaction de mise jour aprs le chargement de la classe [F].
Sert :
alimenter la classe [F]
interrompre la transaction : [V]GOK=0
afficher un message : GMESSAGE
indiquer le type de message : GERR
Attention ! Louverture de table est possible mais uniquement dans un sous-programme, sinon la
classe [F] par dfaut est modifie.
Ex. de devis:
###########################################################################
# Rcupration du compteur de devis
If GMANCOU <> 2 | (GMANCOU=2 & vireblc([M:SQH0]SQHNUM,2)="")
Call NUMERO (GCPT,[F:SQH]SALFCY,[F:SQH]QUODAT,"",GNUM,STAT) From SUBANM
If STAT = 0
[F:SQH]SQHNUM = GNUM
[M:SQH0]SQHNUM = GNUM
Affzo [M:SQH0]SQHNUM
Else
# problme lors de la rcupration du compteur
12.2.2.4. CREATION
Action lance aprs lcriture de lenregistrement dans la transaction de mise jour
Sert :
crer, mettre jour, supprimer enregistrement dautres tables
grer les verrouillages avec [V]GOK = -1
interrompre la transaction : [V]GOK = 0
Ex. de devis:
###########################################################################
# Mise jour du champ contenant la date de demande du dernier devis du client.
If clalev ([F:BPC]) = 0 : Local File BPCUSTOMER[BPC] : Endif
Readlock [BPC]BPC0 = [F:SQH]BPCORD
If fstat = 1 : GOK = -1 : GLOCK = "$SQUOTE"-[F:SQH]BPCORD : Return : Endif
If fstat : Call RSTA("BPC",[F:SOH]BPCORD) From GLOCK : Return : Endif
[F:BPC]QUOLASDAT = [F:SQH1]QUODAT
Rewrite [BPC]
If fstat : Call FSTA("BPC") From GLOCK : Return : Endif
###########################################################################
Modle objet
Action : cration
$CREATION
Readlock [xxx]xxx0 = cl [f:abrv]champ
If fstat=1
GOK= -1 : GLOCK= nom table + cl : Return
Elsif fstat<>0
GOK= 0
Call RSTA( abrev table ,cl) From GLOCK
Return
Endif
ReWrite [xxx]
If fstat
GOK= 0
Call FSTA( abrev table ) From GLOCK
Return
Endif
Return
Copyright Sage 2009-2010 Safe X3 Dveloppement 44
Statut fstat :
Statut de retour dune opration sur table.
0 : OK
1 : enregistrement verrouill
autre : erreur
Sous-programme RSTA :
Affichage dun message en fonction du fstat, suite une tentative de lecture.
Sous-programme FSTA :
Affichage dun message en fonction du fstat, suite une tentative dcriture, rcriture, ou
suppression.
12.2.2.5. APRES_CRE
Action lance aprs la transaction de mise jour, si la transaction sest droule avec succs.
A la diffrence de cration, si la mise jour dune autre table ne fonctionne pas dans cette action, la
cration de lenregistrement dans la table principale nest pas annule.
Sert :
imprimer un tat
mettre jour une table secondaire
activer / dsactiver des champs par Actzo, Diszo, Grizo
Ex. de devis:
###########################################################################
# --- Impression devis client #
If WSLTDOCFLG = 2
Gosub SET_CLE From GOBJSUB
CLECUR = 1
Endif
If WSLTDOCFLG = 2 & !GINTRA & !GIMPORT
Call ETAT(WSLTDOCNAM,"GESSQH",TBPAR,TBVAL) From ETAT
Endif
12.2.2.6. AB_CREATION
Action lance en abandon de la transaction aprs le Rollback
Sert :
dverrouiller un symbole
raffecter des variables globales
Ex. de fournisseur:
###########################################################################
#-- il faut dverrouiller BPARTNER
SYMBOLE2 = "BPR"+num$([M:BPS0]BPSNUM)
Lock = SYMBOLE2
Unlock = SYMBOLE2
###########################################################################
Modle objet
RAZDUP
Sert :
initialiser les variables de la classe [M]
activer / dsactiver des champs par Actzo, Diszo, Grizo
Ncessite :
le rafrachissement de lcran par Affzo
il faut prciser le nom de lcran.
Modle objet
V
I LIENS aprs la lecture de lenregistrement
S
U
AVANT_MOD ds le dbut de la saisie (120)
12.2.4.1. LIENS
Action lance aprs la lecture de lenregistrement, avant laffichage de la classe [M]
Sert :
alimenter des variables
lire des tables supplmentaires
alimenter des champs de la classe [M]
activer / dsactiver des champs par Actzo, Diszo, Grizo
Ex. de devis:
###########################################################################
#------------------------------------------------------------#
# R-alimentation site fin.(GFINRSP)
# soc. (GSOCIETE)
# dev.soc. (GLOCALDEV)
# Rcupration des paramtres vente du site / de la socit
# R-alimentation du cours devise dossier/devise cde
# -----------------------------------------------------------#
GFCY = [F:SQH]SALFCY
Call GETDEV(GFCY) From DEVSUB
Call GLOBVAR(GFCY) From AGLOBVEN
#------------------------------#
# Lecture du site d'expdition
#------------------------------#
If [F:FCY]FCY <> [F:SQH]STOFCY
Read [F:FCY]FCY0 = [F:SQH]STOFCY
If fstat Raz [F:FCY] : Call RSTA("FCY", [F:SQH]STOFCY) From GLOCK : Endif
Endif
###########################################################################
12.2.4.2. AVANT_MOD
Action lance ds le dbut de la saisie, cest dire ds la saisie dun champ qui identifie le mode
saisie.
Sert :
contrler lautorisation de la saisie
interrompre le traitement : [L]OK=0
afficher un message : GMESSAGE
indiquer le type de message : GERR
Ex. de devis:
###########################################################################
$AVANT_MOD
#-----------------------------------------#
# Controle de modification d'un devis
#-----------------------------------------#
12.2.4.3. VERIF_MOD
Action lance aprs la saisie bouton enregistrer avant la transaction de mise jour.
Sert :
effectuer des contrles globaux
interrompre le traitement : [L]OK=0
afficher un message : GMESSAGE
Ex. de devis:
idem VERIF_CRE
12.2.4.4. AVANT_MODFIC
Action lance en dbut de transaction mise jour aprs la lecture de lenregistrement, [F] et non
encore mise jour, les anciennes donnes sont donc encore visualisable.
Sert :
verrouiller des informations complmentaires
mettre jour des tables secondaires (-)
interrompre la transaction : [V]GOK=0
Ex. de devis:
###########################################################################
#-- Maj des statistiques
Call VALSTA("SQH",-1) From SUBPS2
If GOK < 1 : Return : Endif
###########################################################################
12.2.4.5. INIMOD
Action lance aprs le chargement de la classe [F]
Sert :
alimenter la classe [F]
interrompre la transaction : [V]GOK=0
Ex. de devis:
Local Integer I
###########################################################################
# Alimentation des types de frais/remises et des no lments de facturation
For I = 1 To dim([F:SQH]DISCRGTYP)
[F:SQH]DISCRGTYP (I-1) = GDISCRGTYP (I-1)
[F:SQH]INVDTALIN (I-1) = GINVDTALIN (I-1)
Next I
12.2.4.6. MODIF
Action lance aprs la rcriture de lenregistrement dans la transaction de mise jour.
Sert :
crer, mettre jour, supprimer enregistrement dautres tables
grer les verrouillages avec [V]GOK = -1
interrompre la transaction : [V]GOK=0
Ex. de devis:
###########################################################################
#-- Maj des statistiques
Call VALSTA("SQH",1) From SUBPS2
If GOK < 1 : Return : Endif
###########################################################################
12.2.4.7. APRES_MOD
Action lance aprs la transaction de mise jour, si la transaction sest droule avec succs
Sert :
impression dun tat
griser dgriser des zones de lcran
mettre jour une table secondaire
Ex. de devis:
###########################################################################
$APRES_MOD
Local Char TBPAR(10)(1..50),TBVAL(30)(1..50)
#-----------------------------------------------#
# Impression devis client
#-----------------------------------------------#
If WSLTDOCFLG=2 & [F:SQH]QUOPRN<>2
Gosub SET_CLE From GOBJSUB
CLECUR = 1
Endif
If WSLTDOCFLG=2 & [F:SQH]QUOPRN<>2 & !GINTRA & !GIMPORT
Call ETAT(WSLTDOCNAM,"GESSQH",TBPAR,TBVAL) From ETAT
Endif
12.2.4.8. AB_MODIF
Action lance en abandon de la transaction aprs le Rollback.
Sert :
dverrouiller un symbole
raffecter des variables globales
Modle objet
Trbegin
ANNULE avant la suppression de lenregistrement
commit
12.2.5.1. VERF_ANU
Action lance ds lactivation du bouton supprimer, aprs les contrles du dictionnaire, avant la
transaction de suppression.
Sert :
contrler lautorisation de la suppression
interrompre le traitement par [L]OK=0
afficher un message : GMESSAGE
indiquer le type de message : GERR
Ex. de devis:
###########################################################################
# --> devis non supprimable si transform totalement ou partiel. en cde
If [F:SQH]QUOSTA <> 1
GERR=1:GMESSAGE=mess(37,192,1):OK=0
Return
Endif
###########################################################################
12.2.5.2. ANNULE
Action lance avant la suppression de lenregistrement, dans la transaction de mise jour.
Sert :
crer, mettre jour, supprimer enregistrement dautres tables
grer les verrouillages avec [V]GOK = -1
interrompre la transaction : [V]GOK=0
Ex. de devis:
###########################################################################
#-- suppression des textes associs
WNUMTEX = [M:SQH0]SQHTEX1
If WNUMTEX <> ""
WRETOUR = 0
Call TEX(5,"SQH1","","","",WNUMTEX,"A",WRETOUR) From TRTX3TEX
Endif
WNUMTEX = [M:SQH0]SQHTEX2
If WNUMTEX <> ""
WRETOUR = 0
Call TEX(5,"SQH2","","","",WNUMTEX,"A",WRETOUR) From TRTX3TEX
Endif
12.2.5.3. AP_ANNULE
Action lance aprs la transaction de suppression si la transaction sest droule avec succs
Sert :
Mettre jour une table secondaire
12.3.1. Principe
La gestion du modle objet ne gre par dfaut quune seule table, la table lie lobjet.
Or il est souvent ncessaire de grer sur un mme objet un entte et des lignes dtail. Pour permettre
cette gestion un traitement standard (TABLEAUX) est disponible.
Lobjectif est de crer, afficher, modifier et supprimer un objet avec ses lignes de dtail.
12.3.2. Utilisation
Lappel de ce traitement TABLEAUX permet la gestion de la table de dtail. Les diffrentes actions
appeler du traitement sont numres ici.
Modle objet
Trbegin
INICRE
CREATION gosub CREATION From TABLEAUX
Commit
CREATION
DEFLIG excut 1 seule fois
INICRE_LIG `` pour chaque ligne dtail
VALLIG
VALLIG : Pour chaque ligne dtail traite, le superviseur nous envoie le contexte :
TRTLIG = C, M, A ( cration, modification, annulation )
SIGN = +1 ( pour cration et modif aprs le rewrite )
-1 ( pour annulation et modif avant le rewrite )
Modle objet
V
I
S LIENS gosub LIENS From TABLEAUX
U
LIENS
DEFLIG excut 1 seule fois
LIENS_LIG `` pour chaque ligne dtail
LIENS_LIG
NOL = nolign-1
###########################################################################
# --- Chargement de la quantit pour calcul de qt en nomenclature
[M]CQTY(NOL) = [M]QTY(NOL)
Modle objet
INICRE_LIG
INIMOD_LIG aprs r-criture enregistrement entte
aprs le chargement de la classe [F] dtail
avant r-criture enregistrement dtail
sert : complter la classe [F] dtail
MODIF
DEFLIG excut 1 seule fois
INICRE_LIG `` pour chaque cration ligne dtail
VALLIG
Modle objet
gestion dtails : en suppression
Trbegin
ANNULE gosub ANNULE From TABLEAUX
Commit
ANNULE
DEFLIG excut 1 seule fois
VALLIG `` pour chaque ligne dtail
12.3.5.1. DEFLIG
Action appele avant les actions sur table dtail par le traitement TABLEAUX lui-mme
Sert
Positionner des variables ncessaires au traitement TABLEAUX
###########################################################################
$DEFLIG
Default Mask [SQH2]
Default File [SQD]
CRIT = 'SQHNUM="'+[M:SQH0]SQHNUM+'"'
FICLIG = "SQUOTED" : ABLIG = "SQD"
ZONLIG = "SQDLIN"
Return
##########################################################################
DEFLIG
$DEFLIG
# Critre de lecture (CRIT)
# Nom du fichier (FICLIG)
# Abrviation du fichier (ABLIG)
# Zone numro de ligne (ZONLIG)
#----------------------------------#
UPDFLG (nom fixe) flag identifiant une ligne modifie, champ invisible
CREFLG (nom fixe) flag identifiant une ligne cre, champ invisible
Contrle : contrle possibilit dinsertion ligne positionner sur la variable de bas de tableau
DIVLINCONT avec paramtre = nom champ du no ligne
Aprs-ligne : attribution du no de ligne (de 1000 en 1000) positionner sur la variable de bas
de tableau
DIVLINNUM avec paramtre = nom champ du no ligne
[V]GOK = -1
Verrouillage dinformation par un autre poste.
Abandon de la transaction puis nouvelle tentative
Verrouillage dinformations :
Variable [L]OK
12.4.1. Objectif
YORDNUM :
Type de donne VCR.
YORDNUM :
Type de donne VCR.
Pour activer les automatismes de la slection et du tunnel sur objet, pour les champs lis ce type de donne.
Paramtrer le code de lobjet dans le paramtre VCROBJ.
Remarque :
Pour la mise en place des traitements lis au compteur, une aide est disponible au chapitre 12.4.4
Informations techniques et au chapitre Affecter un numro de commande.
Onglet 1 gnral
Onglet 2 lignes
12.4.5. A vrifier
A vrifier
Notes
Les boutons menus et bas dcrans spcifiques sont dclarer dans la fentre onglet
Boutons/menus .
Un sous-menu est rattach son menu dorigine par la premire lettre de son code menu. Un menu
peut dclencher les actions sur champ de type contrle de la fentre si celui-ci est validant.
Dans cette fentre on peut affecter un titre aux menus, affecter laction excuter, ajouter un code
activit sil sagit dun menu spcifique.
Modle objet
Action
Action Dico
Dico dclar
dclar dans
dans la
la fentre
fentre
SETBOUT
Par dfaut les boutons sont tous activs.
# Suppression du bouton supprimer si devis partiellement ou totalement cde
###########################################################################
If !CLECUR | [M]QUOSTA <> 1
Call VIREBOUT(CHAINE,"A") From GOBJET
Endif
###########################################################################
AVANTBOUT
###########################################################################
Case BOUT
When "A" : # Contrle des autorisations
EXEBOUT
###########################################################################
Case BOUT
When "a" : GFONC1=WFONC1 : # Proforma
Gosub RELIT From GOBJSUB # Permet dactualiser le browser courant
Endcase
###########################################################################
Le code bouton doit tre diffrent de ceux possibles pour les boutons prdfinis. Les codes standards
tant soit des numriques soit des lettres majuscules, les code boutons spcifiques doivent donc tre
des lettres minuscules.
Modle objet
Action
Action dico
dico dclare
dclare dans
dans la
la fentre
fentre
SETBOUT
Par dfaut les menus sont actifs mais les lignes ne le sont pas.
###########################################################################
: # activation des lignes menu prcises
CHMEN += "b"
Gosub SET_BOUT_SPE From GSAISIE
AVANTBOUT
Case BOUT
When "i" : [M]CNTNAM=[M:ADB2]CNTNAM : # Adresse livraison
Endcase
###########################################################################
STATUT
###########################################################################
Case BOUT
When "i" :
If [M:ADB2]ADBFLG = 2 | [M]CNTNAM <> [M:ADB2]CNTNAM : # Adresse client livr
If GREP <> "C" & GREP <> "M" & GREP <> "D"
Gosub MAJADRESSE From SUBSQHB
Endif
If [M:ADB2]BPRNAM(0) <> ""
[M:SQH1]BPDNAM = [M:ADB2]BPRNAM(0)
Affzo [M:SQH1]BPDNAM
Endif
Endif
Endcase
###########################################################################
REP= M
Exemple :
$FIN_ACTION
Case BOUT
When "a"
If mkstat=4 & GREP=""
REP=M
Endif
Endcase
Return
Dans lexemple
"a" est le code bouton ou menu
mkstat=4 n'est qu'un exemple. Le but est de tester la variable positionne dans l'action appele du
bouton / menu, qui indique que le contexte de mise jour est dclencher. Il est tout fait possible
de passer par une variable globale.
12.6.1. Prsentation
Listes gauche dun objet, celles-ci peuvent tre filtres, tries de diffrentes manires par traitements.
Il est aussi possible dajouter une liste gauche par lintermdiaire dobjet de type browser. Exemple
objet SQ1 ajout dans la liste gauche de la fentre OSOH.
Liste simple
25 colonnes max.
Cl doit tre sans homonymes
Champ table secondaire autoris si expression de lien
Liste hirarchise
16 niveaux hirarchiques max.
Nb champs de cl constituent le nb de niveaux hirarchiques
Il faut donc dfinir des niveaux hirarchiques ( >= nb champs cl )
Si nb de niveaux hirarchiques > nb champs cl, il y a une concatnation sur le dernier niveau
Champ table secondaire autoris si expression de lien
liste simple
prsente si case coche
par usage, affiche
Nommage superviseur
CLE_GAUCHE liste principale (GAU_CHE)
CLE_GAUCHE1 8 liste secondaire
CLE_GAUCHE9 liste derniers lus
Tester [S]currbox
Automatismes du superviseur
Remplissage : non, total, partiel
Partiel sur le browser principal
En fonction du paramtre CHDERLUS, sur les derniers lus
Chargement partie droite : oui, non
oui sur browser principal et derniers lus
Contraintes
On ne peut pas griser ou supprimer un browser ( solution : le laisser vide )
On ne peut pas changer lordre des browsers
Modle objet
Les Browsers
OUVRE_BOITE :
$OUVRE_BOITE
# Construction du nom des tiroirs comport ensuite currbox
Global Char GBOXSQ1(10)
GBOXSQ1 = "GAU_CHE"+num$(find("SQ1",OBJLIS(1..10)))
Return
FILTRE :
FILTSUP += pour le standard
CRITERE += pour le spcifique
FILGAUCHE :
FILGAUCHE(0..1) += pour le standard pour liste principale & derniers lus
FILGAUSUP(0..1) += pour le standard pour liste secondaire
CRITERE += & pour le spcifique pour liste principale & derniers lus
FILGAUSUP(2) += pour le spcifique pour liste secondaire
Remarque :
Pensez tester le contenu des variables avant leur utilisation.
CLE_GAUCHE :
SNSLIS 1=ascendant, 2=descendant
LENLIS nombre dlments dans la cl
CLELISTE chane de 250 caractres. Liste champs composant la cl spars par ;
Modle objet
PICKE :
Permet dcrire lalimentation de la partie droite, pour un lment slectionn.
DEPICK :
Permet dcrire lalimentation de la partie droite, pour un lment dslectionn.
13. ACTIONS
13.1. DEFINITION
Laction permet :
De cataloguer des traitements
Didentifier le modle superviseur utilis
Le passage de paramtres
Laction est obligatoire sil y a ouverture dune fentre, pour que le traitement superviseur puisse
appeler le modle utiliser.
Actions
Types de donne
Table
M. Locaux
T. Diverses
Codes activits
Objet
Types de donne
Fentre crans
M. Locaux
T. Diverses
Codes activits
Action Traitement standard
Traitement standard
Traitement vertical Traitement vertical
Traitement spcifique Traitement spcifique
Fonction
Actions
Action
Action
FONCTION
FONCTION
Menu
MenuX3
X3 Fentre
Fentre
ECRAN
ECRAN
champ
champ
TYPE
TYPE
DONNEE
DONNEE
Modle :
Il sagit du traitement modle superviseur lancer, par exemple le modle objet.
Type :
Permet de classer les sous-programmes et actions afin d'en faciliter la recherche, et ce, dans le but
dune meilleure r-utilisabilit.
Contrle
Saisie
Slection
Mise jour
Traitement :
En cas de modle, ce traitement contient les actions crites autour de ce modle.
Sil ny a pas de modle, cest le traitement excuter directement.
Instruction Adonix
sur traitement divers uniquement
%1, %2, dsigne la valeur du paramtre1 et du paramtre2.
Exemple : Affzone
Action suite :
Lorsque laction principale est termine, laction suite est dclenche. ( 5 enchanements maxi.)
Sur lcran, la fentre, ou la fonction, la saisie des paramtres cumule les paramtres de laction suite
ceux de laction principale.
Paramtre par valeur : sauvegarde puis restauration du paramtre pour garder sa valeur. Largument
est soit une constante, soit une variable.
Action GOBJETA
Possibilit de restreindre laccs la gestion objet en positionnant la variable [V]GCONSULT
Variable [V]GCONSULT
Les valeurs possibles sont les suivantes :
0 : modification possible
1 : modification impossible, accs tous les enregistrements
2 : modification impossible, accs un seul enregistrement
0 est la valeur par dfaut.
14.1. DEFINITION
Ce modle permet :
la saisie dinformations complmentaires lies une fentre de gestion objet
la saisie dune fentre de critres
Ce modle se lance :
dune fonction, bouton/menu fentre, bouton champ.
La fentre peut contenir boutons, menus, listes gauches, onglets, contrairement GOBJET, aucune
action standard nest dclenche sur les boutons sauf pour : impression, liste, pice jointe,
commentaires, proprits, fin.
Saisie Fentre
14.3.1. OUVRE
Sert :
14.3.2. TITRE
Sert :
14.3.3. DEBUT
Sert :
14.3.4. APRES_MODIF
Sert :
Saisie Fentre
Saisie fentre : Action vnementielle
APRES_MODIF
AV_zone
AV_zone
D_zone
D_zone
AS_zone
AS_zone
C_zone
C_zone
AP_zone
AP_zone
AM_zone
AM_zone
[L]ACTION traitement SUBxxx ou SPExxx
[L]ACTION=="APRES_MODIF"
"APRES_MODIF"
Gosub
GosubACTION
ACTION $ACTION
$ACTION
Case
Case[L]ACTION
[L]ACTION
When
When"APRES_MODIF"
"APRES_MODIF": :Gosub
GosubAPRES_MODIF
APRES_MODIF
When default
When default
cinmatique Endcase
Endcase
sur champ Return
Return
$$APRES_MODIF
APRES_MODIF
REP=
REP=MM
return
return
se dclenche pour tout champ modifi aprs laction sur champ AM_zone, avant la
mise jour de la classe [M].
Ex : SUBBPT (transporteur)
#############################################################################
$APRES_MODIF
Local Integer OKWEU
#---- si saisie de donne poids et pas de saisie de unit poids : message
Case COUZON
When "ADL", "BKT", "PLIMAX", "PLIBKT" : Gosub CONT_WEU
When Default
Endcase
$CONT_WEU
If val(CZ)<>0 & [M:BPT1]WEU=""
OKWEU=2
Call AVERTIR(mess(169,192,1),OKWEU) From GESECRAN
Endif
Return
#############################################################################
14.3.5. FIN
Sert :
14.3.6. FINSAI
Sert :
Saisie Fentre
Boutons Pr-dfinis
Action
Action Dictionnaire
Dictionnaire
XXX Aprs l excution du bouton
pour sortir de la fentre FIN=1
(sortie automatique pour bouton OK et FIN
Saisie Fentre
Boutons Spcifiques
Action
Action Dictionnaire
Dictionnaire
Activation Bouton
Bouton actif par dfaut
Excution bouton
Par dfaut, ne sort pas de la fentre.
Pour sortir, faire FIN=1
Saisie Fentre
Menus
Action
Action Dictionnaire
Dictionnaire
Activation Menu
Menu actif par dfaut
Excution Menu
Par dfaut, ne sort pas de la fentre.
Pour sortir, faire FIN=1
14.5.1. Prsentation
Nommage
CLE_GAUCHE1 8 liste secondaire
Automatismes du superviseur
Listes : remplissage de la liste (non, partiel, total)
slection charge la partie droite ( si browser=oui)
Picking : remplissage de la liste (non, partiel, total)
un niveau par lment de cl ( 16 max. )
Contraintes
On ne peut pas griser ou supprimer un browser ( solution le laisser vide )
On ne peut pas changer lordre des browsers
14.6.1. Objectif
Dvelopper un traitement qui permettra de saisir des informations complmentaires dans une fentre
appele depuis la gestion commande GESYOX, par la barre de menu. On profitera de la transaction
de mise jour de lobjet pour mettre jour la table entte.
Lcran XLIV
La fentre XLIV
Le traitement XLIV
Le principe de ce traitement est de permettre une saisie complmentaire, par une fentre
supplmentaire la fentre principale de gestion des commandes.
La mise jour des informations de la fentre XLIV se fera par la transaction de lobjet.
Pour ce faire, on cre les champs de lcran XLIV en invisible dans lcran YOX0.
Avant la saisie dans la fentre, basculer le contenu des champs invisibles de lcran YOX0
dans lcran XLIV.
A lactivation du bouton OK, on fait un transfert de classe [M :XLIV] vers [M :YOX0]
14.6.3. A vrifier
Fentre saisissable ou pas en fonction du statut de la commande
Saisie + Ok
Saisie + Abandon
Saisie + Fin
Mise jour des informations dans la table des commandes
Notes
15.1. DEFINITION
Ce modle permet :
saisie dune fentre de critre, boite de dialogue, ou simple confirmation
saisie dune fentre principale
excution dun traitement procdural silencieux
il peut tre lanc en batch, par la soumission des requtes
gnrer une trace
Ce modle se lance :
dune fonction, bouton/menu fentre, bouton champ.
Traitement standard
Traitement standard
Fentre crans Traitement vertical
critres Traitement spcifique
Traitement standard
Action Fentre crans Traitement vertical
Principale Traitement spcifique
BATCH
Lancement automatique
Abonnement avec priodicit
15.2. PARAMETRES
Traitement standard
Le traitement superviseur lanc est GTRAITE
Remarque
Actions crire sur le mme traitement pour :
fentre principale
fentre de critres
slection table
slection liste
Saisie dune fentre de critre, boite de dialogue, fentre de slection ou simple confirmation.
Saisie dune fentre principale si celle-ci a t dfinit.
Excution dun traitement procdural silencieux (action EXEC).
Puis lecture dune trace contenant les informations lies lexcution du traitement (erreur,
nombre denregistrement touchs).
15.3.1. INIT
Sert :
Message de confirmation :
Il faut indiquer le message.
Le superviseur gre les boutons oui non .
non : dclenche la fin du traitement standard (quivalent FIN=1)
Bote de dialogue :
Il faut crer lcran et la fentre avec les boutons prdfinis ok fin .
Le superviseur gre les boutons ok fin .
fin : dclenche la fin du traitement standard (quivalent FIN=1)
Saisie fentre :
Il faut crer lcran et la fentre
Le superviseur utilise le modle saisie fentre .
Obligation douvrir le masque dans laction INIT
Pour connatre le bouton activ, tester GSTATUT dans les actions CONTRLE, EXEC.
15.3.2. AVANT_PAR
Action lance avant louverture de la fentre de critre, possibilit de boucler sur la saisie des
paramtres dans laction CONTROLE et EXEC .
Sert :
15.3.3. INIT_DIA
Action lance seulement pour une boite de dialogue avant laffichage de cette fentre.
Sert :
Attention !
Actzo, Diszo, & Grizo ne sont pas disponibles dans cette action
On pourra les utiliser dans les actions sur champs (ex : en avant_zone du champ courant)
Traitement standard
Traitement standard
EXEC
Copyright Sage 2009-2010 Safe X3 Dveloppement 70
#############################################################################
$ACTION
Case ACTION
When INIT Gosub INIT
.
# actions du modle saisie fentre
When DEBUT Gosub DEBUT
Endcase
Return
$init
$ DEBUT
Case BOITE
When code_fentre Gosub
When code_fentre Gosub
Endcase
Return
#############################################################################
15.3.5. CONTROLE
Action lance aprs la saisie des paramtres de lancement dans la fentre de critres, excute
systmatiquement
Sert :
Variable SAI :
SAI=1 retour en saisie, juste avant laction AVANT_PAR (en mode interactif)
15.3.6. EXEC
Sert :
Variable TRA :
0 pas daffichage & conservation de la trace
1 affichage & conservation de la trace
9 affichage & suppression de la trace
Les couleurs utilises sont celles paramtres dans le menu Outils / Options
Variable SAI :
1 retour en saisie, juste avant laction AVANT_PAR, en mode interactif
aucun effet en mode batch
Trbegin Commit :
Pour un traitement de mise jour, dfinir la transaction
15.3.7. TERMINE
Sert :
15.3.8. SORTIE
Sert :
Etape 1 :
- Saisie des paramtres
- Le superviseur les stocke dans la table ABATRQT
Cration Requte :
Le champ DEB(15)(80) contient le nom du champ dans l'cran de saisie des critres
Le champ FIN(30)(80) contient la valeur de ce champ.
Si la valeur du champ>30, les caractres>30 sont mis sur l'indice suivant.
Si + de 80 champs, on enregistre la requte courante avec DEB(79)="&"
et on cre un deuxime enregistrement (no de requte +1) avec FLAG=99
OUVRE-BATCH :
Possibilit douvrir une fentre diffrente en positionnant BCRIT pour le code fentre
CONT-BATCH :
Permet les contrles ds la saisie des paramtres
Possibilit identique laction CONTROLE du lancement interactif.
Etape 2 :
Le superviseur lit le paramtre depuis la table ABATRQT
Excution du traitement
Action CONTROLE :
Si erreur, affichage dans la trace.
Pas de retour possible en saisie.
Les traitements silencieux sont en gnral des traitements couteux en ressources. Pour trouver les
possibilits damlioration des performances un Utilitaire peut-tre dclench par traitement.
# Activation
Call ACTIVE from TIMING
...
# Affichage du temps pass par chaque sous-programme et tiquettes avec le nombre dappel et le
temps dexcution entre le lancement et larrt.
Call ARRET From TIMING
16. FONCTIONS
Prsentation :
Se situe dans le menu Dveloppement>Dictionnaires traitements>Fonctions
fait le lien entre le menu et soit :
un menu (sous-niveau de menu)
un traitement
onglet gnral :
Slection du menu contenant la fonction, du rang et du libell afficher.
Slection des autorisations daccs.
Slection des tats imprimer.
onglet action :
Slection de laction excuter sur une fonction de type traitement.
Slection des paramtres pour cette action
Menu / Rang / Intitul : information pour le menu page HTML (idem objet)
Type fonction : lment appel par la fonction ( traitement ou menu )
Type accs objet : positionn oui en automatique par la validation dobjet
permet le contrle dautorisation en cration, modif. et suppression
Autorisation site : permet le contrle dautorisation par site.
oui en auto. par la validation dobjet, si champ site identifi dans lobjet
Excution mono : excution de cette fonction possible alors quune autre fonction est
lance en mode mono.
Impression : affectation dun document Crystal Report (idem objet)
Liste : affectation dune liste Crystal Report (idem objet)
Action :
A renseigner pour une fonction de type traitement
Le traitement se lance soit en prcisant laction, soit le traitement
Favoriser la technique de laction
Sil y a ouverture de fentre, on devra absolument indiquer laction
Tout type daction sauf action de type Hors modle
Paramtres :
Possibilit daffecter des valeurs par dfaut aux paramtres de laction.
en validation dobjet, alimentation automatique de laction et des paramtres.
Navigation :
Par dfaut, une fonction est accessible la navigation "Aller (touche F7)" ou en utilisant le bandeau
de la barre des menus.
Pourquoi et comment rduire les droits d'accs par la navigation ?
Interdite vers cette fonction :
Fonction ncessitant, par exemple, un contexte d'appel. Exemple: les fonctions non rattaches un
menu X3.
17.1. DEFINITION:
ce modle permet :
excuter un traitement sans ouverture de fentre
Ce modle se lance :
Dune action champ, dun bouton bas dcran ou dun menu
Dune fonction
Exemple :
Action sur champ contrle CTLNUM appel sur le champ SOHNUM de
lcran SOH0 pour contrler le N de document.
Paramtres de laction
Modle : affichage divers
Traitement standard, traitement spcifique.
Code action contenu dans la variable GACTION lintrieur du traitement.
Sert :
###############################################################################
$ACTION
Case ACTION
When TRT_DIV : Gosub TRT_DIV
Endcase
$TRT_DIV
Return
###############################################################################
Variable TRAIT :
Contient lidentifiant de laction dictionnaire.
18.1. DEFINITION :
ce modle permet :
Dexcuter un sous-programme
Ce modle se lance :
Dune action champ, dun bouton bas dcran ou dun menu
Jamais dune fonction
Exemple :
Action sur champ aprs-ligne DIVLINNUM appel sur le champ NBLIG de
lcran SOH4 pour lattribution du numro de ligne.
Paramtres de laction
Modle : Hors modle
Traitement standard ou traitement spcifique.
Renseignement du sous-programme.
Traitement TABLEAUX
Subprog LINNUM (ZONLIG)
Value char ZONLIG
End
Hors modle
FONCTION
FONCTION
Menu
MenuX3
X3
Action
Action
FENETRE
FENETRE Traitement
Traitementstandard
standard
bouton
bouton/ /menu Traitement
menu Traitementspcifique
spcifique
ECRAN
ECRAN
champ
champ
TYPE
TYPE
DONNEE
DONNEE
Hors modle
Le traitement lanc est votre propre traitement
Il ny a pas de traitement superviseur
Ce modle se lance :
Dune action champ, dun bouton bas dcran ou dun menu
Mais jamais dune fonction.
Une fois que le sous-programme a t crit dans laction, si celui-ci peut tre rutilis ultrieurement, il
faudra alors le dclarer dans le dictionnaire des sous-programmes Dveloppement>Dictionnaires
traitements>Traitements>Sous-Programmes .
Type :
Permet de classer les sous-programmes et fonctions afin d'en faciliter la recherche, et ce, dans le but
dune meilleure rutilisabilit.
Les fonctions et sous-programmes sont classer en fonction de leur objectif :
Contrle
Saisie
Slection
Mise jour
Xsl (traitement li au composant cran)
Retour d'un statut
Recherche d'information
Calcul
Divers
Type argument :
Ce champ est renseigner pour les fonctions. Celles-ci sont classer en fonction de la nature de leur
argument de retour :
Char
Intger
Decimal
Date
etc.
18.4.1. Objectif
Ecran de slection
Remarque :
Les valeurs saisies dans les bornes peuvent ne pas correspondre des clients existants et peuvent
ne pas tre saisies.
18.4.3. Traitement
18.4.4. A vrifier
Notes
19.1. DEFINITION :
Ce modle permet :
Louverture dune fentre de slection dune table ou dun link
Ce modle se lance :
principalement dune action champ : slection ou bouton
depuis un traitement standard
Depuis une fonction
Exemple :
Dans les livraisons automatiques, sur le champ client livr, menu contextuel
option slection.
Paramtres de laction
Modle : Slection dans table
Traitement standard et traitement spcifique.
Identifiant action.
Intitul bouton (le nom de loption dans le menu contextuel)
19.2.1. SEL_TABLE
Pagination :
Gre par le superviseur si DEFPAG=1,
Tient compte du tri positionn dans ORDRE et SENS.
Tri :
19.2.2. VERF_TABLE
Sert :
19.2.3. FIN_TABLE
Sert :
20.1. DEFINITION :
Ce modle permet :
Louverture dune fentre de slection des lments dune liste
Ce modle se lance :
principalement dune action champ : slection ou bouton
depuis un traitement standard
Depuis une fonction
Exemple :
action AMENLOCSEL : menus locaux modifiables par module menu :
Paramtrage>Paramtres gnraux>Menus locaux
Paramtres de laction
Modle : Slection dans liste
Traitement standard et traitement spcifique.
Identifiant action.
Intitul bouton (le nom de loption dans le menu contextuel)
Ce modle permet :
Louverture dune fentre de slection des lments dune liste
On doit fournir les lments afficher dans un tableau : les lignes sont constituer
Tous les lments sont affichs en mme temps dans la fentre (limite de 200 max)
Slection rapide et pagination non supportes
Possibilit de crer de 1 5 colonnes
SEL_LISTE :
Action majeure
Le superviseur ne prend pas en charge louverture de la table ni les lectures denregistrement.
Pas dcran ni de fentre crer.
Sert :
SEL_LISTE :
Ncessit douvrir les tables explorer
Ncessit de lire les enregistrements pour constituer les lignes proposer
Possibilit daugmenter la limite de 200 lignes en re-dclarant TEX et TEXTE dans cette action.
Les textes :
La variable TEXTE est dimensionne TEXTE(80)(0..200) dans le superviseur.
Il faut la re-dclarer dans laction SEL_LISTE en ajoutant une 2me dimension ( de 5 postes max )
Exemple :
Local Char TEXTE(80)(1..200,1..2) pour afficher une liste sur 2 colonnes.
Action disponible :
Tri sur colonne
(slection rapide et pagination non supportes)
20.2.2. VERF_LISTE
Sert :
20.2.3. FIN_LISTE
Sert :
Traitement standard
21.1. DEFINITION :
Ce modle permet :
> afficher un ensemble denregistrements en fonction de critres de slection.
Ce modle se lance :
> Depuis une action champ
> Depuis une fentre
> Depuis une fonction
Exemple :
> Affichage de la liste des commandes dans le menu :
Ventes>Consultation>Commandes>Listes commandes
Remarque :
Le traitement qui contiendra vos actions est le CNSxxxSPE.
Consultations
Action
Action
FONCTION Consultation
Consultation
FONCTION
Menu
MenuX3
X3
Fentre
Fentreprincipale
principale
FENETRE
FENETRE crans
bouton
bouton/ /menu
menu ++ Boutons
Boutons/ /Menus
Menus
ECRAN Fentre
ECRAN Fentrede
decritres
critres
champ
champ
cran
TYPE ++ Boutons
Boutons/ /Menus
Menus
TYPE
DONNEE
DONNEE
Traitement superviseur GCONSULT
Traitement standard
Traitement spcifique
Copyright Sage 2009-2010 Safe X3 Dveloppement 83
Action CONSxxx
type de traitement Consultation
code consultation xxx (obligatoire)
dfinition des paramtres
Fonction CONSxxx
action CONSxxx (obligatoire)
valeur des paramtres
Onglet Ecrans
Code : Ce code obligatoire identifie la consultation. Il a au plus 3 caractres. Comme le code
consultation en minuscule sert dextension au fichier mmo associ aux critres de consultation, il ne
faut pas lui donner le code dextension mmo dj existante (ddm, sel, rpt viter).
Traitement standard : Ce traitement est rserv SAGE et doit contenir les actions standards lies
la consultation. Il doit contenir une tiquette $ACTION.
Traitement spcifique : Ce traitement est rserv aux distributeurs et doit contenir les actions
spcifiques lies la consultation. Il doit contenir une tiquette $ACTION.
Fentre critres : Cette zone est facultative. Elle conditionne la prsence du bouton critre .
Code cran par dfaut : Cette zone est facultative. Elle permet daffecter automatiquement un cran
paramtr au lancement de la consultation. Cet cran est modifiable par la zone ECRAN de la fentre
de critres.
Tableau des critres : Ce tableau nest saisi que si une fentre critre est renseigne. Il permet :
- de faire correspondre les zones critres de lcran entte avec les zones de lcran critres
gnre les sous-pro $CRITENT (alim. critres) et $ENTCRIT (alim. entte) dans le traitement
CNSxxx
- didentifier les critres daffichage
gnre le sous-pro $CRITAFF dans le traitement CNSxxx
30 lignes de critres maximum peuvent tre renseignes.
Onglet divers:
- Objet : Cette zone est facultative. Si vous souhaitez que la consultation exploite et mette jour les
derniers lus, indiquer lobjet associ.
- Table & abrviation : Si un objet est prcis, la table est force celle de lobjet, sinon la table
indique ici ne servira qu grer les boutons magntos. Indiquer sous quelle abrviation utilise cette
table en gestion de consultation, par dfaut labrviation du dictionnaire des tables est propose.
- Cl : Toujours pour la gestion des derniers lus ou des boutons magntos, indiquer la cl de parcours
de fichier. Cette zone est obligatoire si une table est renseigne.
- Condition : Ces zones sont facultatives et permettent de sauter certains enregistrements de la table
en exploitation des derniers lus et en utilisation des boutons magntos. Utiliser le caractre pour
dlimiter une valeur alphanumrique.
- Magntos O/N : Indique si les boutons magntos sont grs. Non saisi si aucune table
nest prcise.
Modle consultation
21.6.1. AUTORIS
Cette action est appele en tout dbut de modle. Et sert contrler que l'utilisateur a les droits de
lancer cette consultation.
Sert :
Effectuer des contrles supplmentaires au modle et d'empcher la consultation en
positionnant OK = 0.
Exemple :
$AUTORIS
If GFONCTION="CONSBAG"
MEMO="bag"
If PARAM(1) = "2" : MEMO = "bg2" : Endif
Else
MEMO="bah"
If PARAM(1) = "2" : MEMO = "bh2" : Endif
Endif
Return
21.6.2. OUVRE
Cette action est appele en dbut de modle, lorsque la consultation est autorise pour l'utilisateur.
Les tables et masques ont t ouverts par le modle.
Sert :
Faire des dclarations de ressources ncessaires et des initialisations, par exemple :
Elle sert aussi indiquer, si on lance la recherche au lancement de la consultation ou pas. Dans
certains cas, il peut tre prfrable de faire saisir les critres avant toute tentative de recherche ; cela
se fera en positionnant la variable CHARGMT 1.
CHARGMT : recherche dclenche ds l'entre dans la consultation ( 0 oui / 1 non ). oui, par
dfaut.
21.6.3. LECTURE
Cette action est appele quand on lance la recherche, c'est dire au lancement de la fonction,
lorsque l'on pagine ou lorsque l'on change les critres. Cette action est indispensable pour alimenter
l'cran de consultation par l'ensemble des enregistrements slectionns.
Sert :
Alimenter l'cran de consultation par l'ensemble des enregistrements slectionns. On appelle
l'action "FILTRE" afin que le spcifique puisse ventuellement insrer un filtre de slection. Cette
action sera crite sur le modle ci-dessous (extrait de la consultation des devis).
Exemple :
$LECTURE
#-- critres obligatoires (section facultative)
If [M:CSQ1]CPY="" & [M:CSQ1]SALFCY="" : NBLU=0 : Return
Endif
If NBLU = 1
If CHGPAG=2 | CHGPAG=-2 : Raz [M:CSQ2] : Endif
NBLU = 2
Endif
NOL -= 1
If NOL=MAXLIG-1
FINNUM = [F:SQH]SQHNUM
FINDAT = [F:SQH]QUODAT
Endif
DEBNUM = [F:SQH]SQHNUM
DEBDAT = [F:SQH]QUODAT
Endif
$SUIV
Next
Filter [SQH]
Return
Endcase
Return
SUITE : permet de dsactiver les boutons < Suite > et < Dernier >
21.6.4. FILTRE
Cette action est prvue pour le spcifique uniquement. Elle est appele depuis l'action LECTURE
pour positionner un filtre spcifique sur les enregistrements slectionner.
Attention cette action ne doit jamais tre utilise pour le standard.
Pour le spcifique, on positionne un filtre qui s'exprime sous la forme d'une chane de caractres
contenant une condition logique sur un ou plusieurs champs de la table principale. On peut crire par
exemple :
WFIL+= "BPSTYP=2".
Nous n'avons pas, dans cette version, une variable ddie cela. Il faut donc vrifier dans l'action
standard LECTURE, la variable qui est prvue pour le filtre.
21.1.1. Objectif
Ajout du champ YTTCD dans la consultation CSP. Le champ doit tre positif et dans lcran
dentte.
Cration du traitement CNSCSPSPE.
Ce traitement devra filtrer les commandes ayant un total TTC infrieur au critre saisi
en entte.
21.1.3. A vrifier
Pour tre actif, les points dentre doivent tre relis un traitement standard.
Cette liaison est renseigner dans le menu :
Dveloppement>Dictionnaire traitements>Traitements>Points dentre
Points dentre
Trait.
Trait.Standard
Standard FUNAUTDLV
FUNAUTDLV
GPOINT
GPOINT ==AUTDLVFIL
AUTDLVFIL
Gosub
GosubENTREE
ENTREEFrom
FromEXEFNC
EXEFNC
Table
TableAENTREE
AENTREE
lien
lientrait
traitstandard
standard&&spcifique
spcifique
FUNAUTDLV
FUNAUTDLV ZZFUNAUTDLV
ZZFUNAUTDLV
Trait.
Trait.Spcifique
SpcifiqueZZFUNAUTDLV
ZZFUNAUTDLV
$ACTION
$ACTION
Case
CaseACTION
ACTION
When
WhenAUTDLVFIL
AUTDLVFIL: :Gosub
GosubAUTDLVFIL
AUTDLVFIL
When default
When default
Endcase
Endcase
return
return
Copyright Sage 2009-2010 Safe X3 Dveloppement 86
Traitement standard
Placement et attribution dun nom au point dentre. Transmis par patch.
Traitement spcifique
Le nom doit commencer par X,Y ou Z.
Doit contenir ltiquette $ACTION
Table AENTREE
Livre vide
Doit faire la correspondance entre un traitement standard et spcifique.
Menu : Dveloppement>Dictionnaire traitements>Traitements>Points dentre
22.2.1. Objectif
Ajouter le champ YFLGSPE dintitul Flag Spcifique , de type menu local 1, dans la table
SORDER.
Ajouter ce mme champ dans lcran SOH2, en case cocher saisissable.
Cette fonction est accessible depuis le menu : Paramtrage / Ventes / Transactions de saisie /
Commandes
Ajouter le champ YFLGSPECOD dans la table SALTRS pour permettre le paramtrage du champ
YFLGSPE par transaction de saisie. Il est de type menu local 35, longueur 15.
Ajouter ce mme champ dans lcran SLC2.
Utiliser le point dentre appropri pour que le champ YFLGSPECOD paramtre laffichage du
champ YFLGSPE (saisissable, affich, invisible).
Ces transactions de saisie permettent de gnrer des crans partir des crans de base des
commandes (SOH0, SOH1, SOH2, SOH3, SOH4).
22.2.3. A vrifier
Notes
Axes danalyse
Graphe simple :
Visualisations successives, si plusieurs axes danalyse paramtrs pour le graphe
Permet davoir une chelle adapte aux donnes de chaque axe.
Exemple :
Commandes normales
Commandes de prt
Commandes facturation directe
Axes danalyse
23.2. PARAMETRAGE
> Appel dun graphe partir dun tableau dans le dictionnaire des crans
Reprsentation du bloc :
> Caractres
> Car. ou Graph.
> Car. et Graph.
> Graphique
Option
> T : affichage complet du tableau
> Permet dafficher un graphe complet (si graphe est affich par dfaut)
Exemple
> Ecran SGO1, permettant de visualiser la liste des commandes.
Axes danalyse
Lorsqu'on a une ligne de totalisation dans une consultation, l'objectif est gnralement
d'avoir cette ligne de totalisation dans le tableau, mais pas sur le graphe associ.
23.3. GANTT
23.3.1. Prsentation
Graphe
Visualisation
Ordonnancement et enchanement dans le temps, des tches et oprations ncessaires
laboutissement dun projet.
Les oprations apparaissent en ordonne
La dure (mois, jour, semaine) apparat en abscisse
Chaque tche est reprsente par une barre horizontale dont la longueur est proportionnelle
la dure de sa ralisation
Le minipad affiche un aperu de la zone du graphique en cours de visualisation.
Exemple : Production > Donnes techniques > Gammes > Gestion Gammes
Lignes
Plusieurs lignes pour chaque opration.
Une ligne entte (cl et nom doivent tre renseigns)
Des lignes dtail (nom doit tre absent, et tous les autres champs renseigns)
Colonnes
Aucun nom nest impos.
Le paramtrage permet lidentification de chaque colonne.
Paramtrage par table diverse 915
Date interne
Champ A(12)
Date exprime sous la forme AAAAMMJJHHMM
Pour formater cette date interne : Call CONVDATI (date, heure, date_interne) From INTRUTILA
Avec date en type date, heure en integer, date_interne en char
Dure affiche
Alimente les barres du gantt (7 j avec le week-end)
Champ DCB(9,2)
Unit : journe de 24 heures
Ex : pour exprimer une dure de 1h30, cest 1,5/24= 0.0625
Dure obligatoire pour chaque tache.
Remarque : mettre 0.01 pour ne pas afficher la barre
Dure
Alimente linfo bulle par survol sur la barre (5 j travaills)
Description identique, par contre cette dure peut tre gale 0
23.4. AGENDA
23.4.1. Prsentation
Graphe :
Lagenda permet une consultation des vnements (rdv, tches, appels) de la CRM
Avec Cration, modification ou suppression dvnement par tunnel depuis lagenda
Type dvnement diffrenci par sa couleur
Evnement termin symbolis par un trait gris
Survol vnement : affiche un rsum
Click vnement : affiche une fiche plus dtaille
Interface entre agenda CRM et Outlook
Bi-directionnel
Paramtrable par utilisateur
Tableau :
Lignes
1 ligne pour chaque vnement.
Colonnes
Aucun nom nest impos.
Le paramtrage permet lidentification de chaque colonne.
Paramtrage par table diverse 915
23.5.1. Prsentation
Type de jour
1 Ouvr
2 Week-end
3 Fri
Activit
1 Travaill
2 Congs pays
3 RTT
4 Maladie
5 Formation
Graphe :
Interactif : affectation dune activit
Avec le traitement interactif standard, seul les jours ouvrs sont modifiables.
Possibilit de rendre le planning non modifiable en mettant tous les champs du tableau en affich
Possibilit dafficher des totaux par activit (calcul automatique par traitement du composant cran)
Tableau :
1 ligne par jour
1 colonne par plage dactivit (1 4)
mess(1,9837,1)
Bloc technique
Champ clob invisible pour recevoir le graphe
Tableau
Lignes :
1 ligne par jour (maximum : 365 lignes pour un planning dun an)
Colonnes :
TECDAT : date interne Champ A(12)
Date exprime sous la forme AAAA-MM-JJ-SS-J (SS-J = no semaine no jour dans la semaine)
alimenter par le sous-pro TRSFDATP (date, TECDAT) From INTRUTILA
TYPDAY : type jour (ouvr, we, fri)
PLAG1 PLAG4 : 1 4 plages dactivit par jour
La prsence des champs dfinit le nb de plages par jour
TOTTYP1 TOTTYP8 : 1 8 totaux dactivit
Les mettre en fonction du nombre dactivits (menu local 9837)
Nom champ impos (sauf pour le clob) si utilisation du traitement standard de lXSL
Appel du champ clob dfinis dans un bloc technique de lcran pour recevoir le code
daffichage XSL du composant cran APLNAM
Paramtres :
Nombre de mois affichs :
1 12 mois
Programme dinteraction :
AMAJPLAN par dfaut (programme livr)
possibilit davoir un autre traitement
Doit obligatoirement appeler le sous-programme MAJPLAN
Doit obligatoirement avoir les paramtres identiques au sous-
programme MAJPLAN de AMAJPLAN
Doit tre dclar dans le dictionnaire des sous-programmes
> Prsentation
Codes :
Associs des menus locaux des codes XSL pour fournir un jeu de libells dans la langue de
lutilisateur
Programmes :
Mise jour de la classe [M] partir de la modification du graphe :
affecter de lactivit
Calcul des totaux
Pour le planning, ce traitement est excut chaque affectation dactivit, et les paramtres sont :
Date dbut (identifie par la ligne du tableau X3)
Plage dbut (de 1 4)
Date fin (identifie par la ligne du tableau X3)
Plage fin (de 1 4)
Remarque :
La mise jour du graphe depuis le tableau est prise en charge par lXSL.
Paramtres :
Jusqu 5 paramtres avec leur valeur par dfaut, modifiable ventuellement dans lcran dappel.
23.7.1. Prsentation
Graphe :
Interactif : affectation dune activit
Avec le traitement interactif standard, seul les jours ouvrs sont modifiables.
Possibilit de rendre le planning non modifiable en mettant le tous les champs du tableau en affich
Possibilit dafficher des totaux par activit (calcul automatique par traitement du composant cran)
23.8.1. Prsentation
Graphe :
Le composant XSL permet de reprsenter des nomenclatures horizontalement.
Le menu contextuel est constituer, par lajout daction Bouton, sur la variable de bas de tableau
Exemple suppression de llment :
Subprog B2_NBCMP
Local Char MESSAGE(100)
Local Integer CODRET
Call MAJHIER("D",nolign,"",0,MESSAGE,CODRET) From AMAJHIER
If CODRET<>1
Call ERREUR(MESSAGE) From GESECRAN
Endif
End
Appel du champ clob dfinis dans un bloc technique invisible de lcran pour recevoir
le code daffichage XSL du composant cran ANOMH
Bloc tableau
lignes
1 ligne par lment de nomenclature
colonnes
PARENT : cl du pre de lenregistrement courant. Obligatoire, sauf la tte de
nomenclature.
KEYC : cl de lenregistrement courant. Obligatoire
IMG : image . Facultatif. Image redimensionne la hauteur du nud (paramtre
SIZEB)
LIBSHORT : libell court . Facultatif. Affich dans le cadre du nud
LIBL1 : libell long . Facultatif. Info bulle affiche au survol dun nud
Nom champ impos (sauf pour le clob) si utilisation du traitement standard de lXSL
Programme dinteraction :
> AMAJHIER par dfaut (programme livr)
> possibilit davoir un autre traitement
> Doit obligatoirement appeler le sous-programme MAJHIER
> Doit obligatoirement avoir les paramtres identiques au sous-programme
MAJHIER de AMAJHIER
> Doit tre dclar dans le dictionnaire des sous-programmes
Paramtres : ANOMH
Modification autorise :
1 non, 2 oui (Dplacement dune hirarchie)
Programme dinteraction :
AMAJHIER par dfaut (programme livr)
possibilit davoir un autre traitement
Doit obligatoirement appeler le sous-programme MAJHIER
Doit obligatoirement avoir les paramtres identiques au sous-programme MAJHIER de
AMAJHIER
Doit tre dclar dans le dictionnaire des sous-programmes.
Stockage images
Images
A placer dans le rpertoire X3_PUB/ dossier /RES
23.9.1. Prsentation
Graphe :
Composant XSL permettant de reprsenter des nomenclatures verticales
Le menu contextuel est constituer, par lajout daction Bouton, sur la variable de bas de tableau
Exemple suppression de llment :
Traitement identique la suppression sur nomenclature horizontale
Appel du champ clob dfinis dans un bloc technique invisible de lcran pour recevoir
le code daffichage XSL du composant cran ANOMV.
Nom champ impos (sauf pour le clob) si utilisation du traitement standard de lXSL
Programme dinteraction :
> AMAJHIER par dfaut (programme livr), possibilit davoir un autre
traitement
> Doit obligatoirement appeler le sous-programme MAJHIER
> Doit obligatoirement avoir les paramtres identiques au sous-programme
MAJHIER de AMAJHIER
> Doit tre dclar dans le dictionnaire des sous-programmes
Stockage images
Icones
placer sous X3_PUB/X3_ROOT
RESSTD/IMG pour le standard
RESPER/IMG pour le spcifique
RESVER/IMG pour le vertical
23.10. RADAR
23.10.1. Prsentation
Graphe :
visualisation uniquement
Possibilit de slectionner ou pas un lment analyser ( clic sur lil )
Possibilit de mettre en vident un lment analyser ( clic sur couleur )
Appel du champ clob dfinis dans un bloc technique invisible de lcran pour recevoir
le code daffichage XSL du composant cran ARADAR
Remarque :
> Possibilit de bouton sur variable de bas de tableau (clic droit sur zone)
> Aucun nom nest impos.
Menu chelle :
> Menu local permettant de dfinir une lgende pour la graduation de lchelle
Composant cran :
> Aucun programme dinteraction.
> Il ny aura donc pas de possibilit dintervenir sur ce graphe.
> Il sera juste en visualisation.
23.11. BROWSER
23.11.1. Prsentation
Objectif
Afficher une trois pages html, dans un bloc cran.
Onglet dans une barre en haut du bloc.
Code url ou html renseigner par clic droit sur le bloc browser
Possibilit davoir 3 pages web
1 Champ clob pour recevoir ces pages html
Ajout dun champ clob rcepteur du code HTML.
23.12. BUREAUTIQUE
23.12.1. Prsentation
Graphe
Saisir ou afficher un document Word, Excel ou PowerPoint (en fonction du mode saisie champ
blob)
Stockage du document dans un champ de la base de donnes X3.
Possibilit denregistrer sous et de constituer un fichier.
Possibilit douvrir et dinsrer un document existant.
Des macros peuvent tre dclenches depuis X3, pour permettre une interaction dans les 2
sens entre documents et donnes X3.
Exemple : Vente>Devis>Devis
La mise jour dun tableau X3 avec un document WORD ou Excel est effectue par le traitement
suivant :
###############################################################################
$MAJX3
# maj Excel vers X3
# le blob contenant le document Excel sappelle CEXCEL
CALLIU "majx3" From CEXCEL With CART(0..20),CINTIT(0..20),CQTE(0..20),CPRIXU(0..20)
Effzo [M]10
For I=0 To 19
If CART(I)="" : Break 1 : Endif
[M]ARTICLE(I)=CART(I)
[M]INTIT(I)=CINTIT(I)
[M]QTE(I)=CQTE(I)
[M]PRIXU(I)=val(ctrans(CPRIXU(I),",","."))
$CHMULTLIG
# maj X3 vers Excel
Local Char DESIMG(100)(0..9),CPRIXU(20)(0..9),CPRIXTOT(20)(0..9),CTTC(20)(0..9)
CALLIU "majexc" From CEXCEL With
[M]ARTICLE(0..[M]NBLIG),[M]INTIT(0..[M]NBLIG),[M]QTE(0..[M]NBLIG),[M]PRIXU(0..[M]NBLIG)
Return
###############################################################################
Appel dun champ blob dfinis dans un bloc bureautique de lcran pour recevoir le
document.
Par clic droit sur le type bloc bureautique possibilit de typer le document (Word,
Excel, power point), ou de laisser le choix lutilisateur (banalis)
Syntaxe
CALLIU macro From champ_blob With liste_paramtres
Traitement X3
##########################################################################
# maj tableau X3 partir du document Excel
Local Char CART(20)(0..20)
Local Char CINTIT(40)(0..20)
Local Integer CQTE(0..20)
Local Char CPRIXU(20)(0..20)
CALLIU "majx3" From CEXCEL With CART(0..20),CINTIT(0..20),CQTE(0..20),CPRIXU(0..20)
Effzo [M]10
For I=0 To 19
If CART(I)="" : Break 1 : Endif
[M]ARTICLE(I)=CART(I)
[M]INTIT(I)=CINTIT(I)
[M]QTE(I)=CQTE(I)
[M]PRIXU(I)=val(ctrans(CPRIXU(I),", ","."))
Next I
[M]NBLIG=I : Gosub CALCTOT : Affzo [M]10
Return
##########################################################################
23.13.1. Prsentation
23.13.2. Traitements X3
Subprog CL_ICO1(VALEUR)
Variable Char VALEUR()
CALLIU "verifierActionJoueurA" From CLT1 With 38
End
Subprog CL_ICO2(VALEUR)
Variable Char VALEUR()
CALLIU "verifierActionJoueurA" From CLT1 With 37
End
Subprog CL_ICO4(VALEUR)
Variable Char VALEUR()
CALLIU "verifierActionJoueurA" From CLT1 With 32
End
Subprog CL_ICO5(VALEUR)
Subprog CL_ICO6(VALEUR)
Variable Char VALEUR()
CALLIU "verifierActionJoueurA" From CLT1 With 40
End
23.14.1. Prsentation
Gestion Documentation
Existe aussi en gestion documentation champ
Subprog C_VLDFLG(VALEUR)
Variable Integer VALEUR
Look [ADH]ADH0=[M]LAN;[M]TYP;[M]COD;[M]LEV;[M]SUBLEV
If !fstat : mkstat = 4 : Endifbouton
End
###########################################################################
23.15.1. Prsentation
Appel dun champ clob dfinis dans un bloc Editeur HTML de lcran pour recevoir les
informations.
Vue portail
Visualisation uniquement
Elments portail insrables dans les crans
Pas de tableau de donnes associ
Pas de traitement crire
Cest un jeu de paramtrage insrer dans lcran
Vue portail autorise : calendrier, agenda ou graphe flash (type composant = FCA, FAG,
FGR)
Exemple :
Cest une requte restitue par un graphe flash.
Pour chaque fentre, est indiqu le nombre de masques.
Description bloc
> Slection dune vue portail (paramtrage/portail/vues portail)
> Paramtre est un champ clob
Les champs
> Un seul champ de type clob
> Cest le rceptacle des informations
> Dimension ( lignes - colonnes / capacit de stockage )
23.16.1. Objectif
Le traitement appliquera le filtre sur le fichier article, selon les critres de slection.
Pour longlet 1 :
Pour chaque article, on lira lensemble des lignes de commande correspondantes pour remplir le
tableau.
Pour longlet 2 :
Pour chaque article, on lira lensemble des lignes de commande correspondantes pour remplir le
tableau ; et pour chaque ligne de commande, on lira lentte de commande.
Ecran dentte
Onglet 1
Onglet 2
Fentre YGX
Action YGX
Traitement
Suite la saisie des bornes articles, lutilisateur clique sur le bouton Recherche .
Ce bouton doit lire les commandes et afficher les rsultats dans les deux onglets la fois.
Le traitement YGX est complter.
23.16.3. A vrifier
Notes
24. SPECIFIQUE
Les caractres suivants sont strictement rservs et ne doivent pas tre utiliss hors
de ce contexte : A* superviseur
J* produit TMS
W* lments gnrs
X* add-on et verticaux,
Y* spcifiques partenaires
Z* spcifiques clients
Action dictionnaire X, Y ou Z
Remarque : Les actions spcifiques sur champs ne ncessitent pas de codes activit.
################################################################################
#Permet lexcution du standard avant le spcifique
$ACTION
Case ACTION
When OUVRE : Gosub OUVRE
When default
Endcase
return
$OUVRE
Gosub OUVRE From SUBxxx
( spcifique)
GPE = 1
return
################################################################################
Objet : SPE+objet
SPV+objet pour traitement vertical
Consultation : CNS+consultation+SPE
Traitement standard
Saisie fentre :
Slection table :
Slection liste : Xxxx, Yxxx, Zxxx
Affichage divers :
Etat :
Import / export :
Certains crans standards sont affichs dans lapplication via des crans gnrs par les
fonctions de transactions de saisie
Pour modifier lcran appel par Stock>Inventaires>Inventaires la marche suivre est la suivante:
_ Modification de SNL0.
_ Puis validation de la ou des transactions dans paramtrage>Stock>Transactions de
saisie>Inventaire .
Les autres transactions sont rpertories dans les diffrents modules.
Attention ! Si lon modifie directement les crans de transaction alors les modifications seront
crases par la prochaine validation de la transaction!
Messages :
Vertical 160 - 169
5000 5199
Spcifique 6000 6199
Menus locaux :
Vertical 1000 1999
5200 5999
Spcifique 6200 6999
Ajout dun chapitre spcifique (Xxx, Yxx, Zxx) dans la table diverse 901 chapitres pour paramtres
Traitement WWGLOBVAR
Ds quune variable globale est associe au paramtre
excut automatiquement la connexion du dossier
Variable globale
Est crer dans le dictionnaire associ
Pour le spcifique doit commencer par X,Y,Z,GX,GY ou GZ.
La cration de patch peut tre excute depuis le menu Dveloppement \ Utilitaires \ Patch \
Cration automatique de patch
Langue :
Pour slectionner les messages attachs aux lments patchs.
Traitement excuter :
Sera lanc en fin dintgration de patch
Doit contenir le sous-programme PATCH. Le dossier est pass en paramtre.
Exemple :
####################################################################
Subprog PATCH(APPLI)
Value Char APPLI
If clalev([F:ADS])=0 local File ADDOSSIER [ADS] Endif
Read [ADS]DOSSIER=APPLI : If fstat Raz [F:ADS] Endif
If [F:ADS]MODULE(n)<>2 End Endif
End
####################################################################
Type de patch
Provisoire ou dfinitif
La cration de patch peut tre excute depuis le menu Dveloppement \ Utilitaires \ Patch \
Cration de patch
Slection automatique :
tous les lments spcifiques pour le code activit renseign.
Langue :
Pour slectionner les messages attachs aux lments patchs.
Traitement excuter :
sera lanc en fin dintgration de patch
Type de patch
Provisoire ou dfinitif
Patch standard : intgration du standard dans tous les dossiers. Spcifique et vertical
conservs
Patch superviseur : intgration dans le dossier mre uniquement. (rserv au
standard pour la doc.)
Patch vertical : intgration dans tous les dossiers. Spcifique conserv. Suppression
des actions SPV obsoltes.
Patch spcifique : intgration dans tous les dossiers. Suppression des actions SPE
obsoltes.
Nom fichier :
SRCxxxxxxxx
Insertion des traitements et tats dans les rpertoires adquats du dossier applicatif.
Type objet :
Ordre de dclaration sans importance (tri du superviseur)
patch dun traitement : source ou compil
pour tout type patchable : validation associe effectue
pour les fonctions : validation menus ADMIN seulement
tout enregistrement de toute table est patchable
abrev de la table
Filtre de slection du ou des enregistrements
table systme sont intgrer dans le dossier mre
pour lancer un traitement suite lintgration du patch
type = EXE
nom = nom du traitement excuter
ce traitement aura un sous-programme PATCH
peut crire dans la trace
Code activit :
Code activit spcifique obligatoire et doit tre cr dans le dossier du client et coch actif.
24.1.11. Excutables
La rgle de nommage conseille, pour les fichiers patchs en spcifique ou vertical est :
<SpecificId>_<PatchNumber>_<X3RequiredPatchLevel>_<X3Version>.dat
Type TAB :
Attention ! Aucun lien avec une autre table n'est pris en compte ( ex : textes traduits ).
Le test dun patch se fait via le menu : Dveloppement \ Utilitaires \ Patch \ Test de patch
Vrifie si des lments patcher sont en conflit avec les lments protgs par code activit
spcifique.
Exemple :
La consultation BAL protge par le code activit ZDA ne sera pas mise jour par patch standard.
Dossier :
passer le patch sur le dossier applicatif uniquement
25. CONCLUSION
Modification de lexistant :
> tables, crans, objet, fentre, fonctions, code activit
26.1.1. Objectif
En gestion article, dclencher le changement de style lorsque lutilisateur modifie le statut actif/inactif
sur une ligne article.
26.1.3. A vrifier
Notes
26.2.1. Objectif
Ajouter ces 2 champs dans la table, lcran et la fentre de slection des articles.
Permettre une mise jour de ces champs dans la table des Textes traduits, pour ce faire aidez-vous
de lexemple du traitement SUBTUN utilis pour traduire les units.
26.2.3. A vrifier
Notes
26.3.1. Objectif
YC3 Liste compose des champs YBPCNAM et YBPCNUM, trie par nom.
Pour rpondre au besoin de la liste YC4 qui est une liste hirarchise, crer un index supplmentaire
dans table YCUSTOMX, sur laquelle cette liste pourra sappuyer.
Pour filtrer les enregistrements sur une liste, aidez-vous de laide sur les actions lies aux browsers.
Pour lidentification de la liste gauche, aidez-vous de laide de laction OUVRE_BOITE dfinis la fin
du chapitre 12 du cours.
26.3.3. A vrifier
Notes
26.4.1. Objectif
Crer une consultation capable dafficher et de trier les clients en fonctions de critres.
Ecran dentte
Ecran dtail
Traitement :
Le traitement devra permettre laffichage de la liste des clients avec la possibilit de trier de 3
manires diffrentes :
Aucun tri : La clef de parcours est dfinie par lindex YCX0
Secteur gographique : La clef de parcours est dfinie par YARE + YBPCNUM
Total HT : la clef de parcours est dfinie par YORDTOTNOT par ordre dcroissant.
Pour crer ce traitement aidez-vous de lexemple du cours dcrit dans laction LECTURE.
26.4.3. A vrifier
26.4.4. Etape N2
Un traitement YGENETEST est prsent sur votre dossier, ce traitement permet deffacer toutes les
lignes prcdemment cres (commandes, clients, articles) pour crer 1000 lignes de tests par tables.
Une fois le traitement excut, vrifiez que les lignes ont bien t cres, puis modifiez votre
traitement pour que celui-ci prenne en compte le changement de page devenu maintenant ncessaire.
Pour modifier le traitement, aidez-vous de lexemple du cours dcrit dans laction LECTURE.
26.4.5. A vrifier
Notes