You are on page 1of 226

Safe X3

Support de formation
Dveloppement
Version 6
SAFE X3 DEVELOPPEMENT

PRE REQUIS
Pour accder cette formation, vous devez avoir au pralable :

- A suivre imprativement la formation Overview Dveloppeur

Copyright Sage 2011 Page 2


SAFE X3 DEVELOPPEMENT

SOMMAIRE

SOMMAIRE .................................................................................................................................................... 3

1. INTRODUCTION........................................................................................................................................ 7

2. TABLES ..................................................................................................................................................... 9

2.1. RESUME ................................................................................................................................................... 9


2.2. DESCRIPTION DETAILLE DES PARAMETRES DUNE TABLE :..................................................................................... 9
2.3. LES LIMITES ............................................................................................................................................. 13
2.4. ACTION BOUTON BAS DECRAN .................................................................................................................... 13
2.5. DES CHAMPS PARTICULIERS......................................................................................................................... 14

3. ECRANS .................................................................................................................................................. 15

3.1. DEFINITION .............................................................................................................................................. 15


3.2. RENSEIGNEMENT DES INFORMATIONS GENERALES ........................................................................................... 15
3.3. AGENCEMENT DES BLOCS ........................................................................................................................... 17
3.4. RENSEIGNEMENT DES CHAMPS .................................................................................................................... 18
3.5. CHAMPS SPECIAUX A PARAMETRER ............................................................................................................... 19
3.6. CONTRAINTE TECHNIQUE POUR LAPPEL DUN BLOC TABLEAU DEROULANTS .......................................................... 20

4. OBJETS ................................................................................................................................................... 23

4.1. DEFINITION ............................................................................................................................................. 23


4.2. GESTION OBJET SIMPLE.............................................................................................................................. 23
4.3. GESTION TABLEAU .................................................................................................................................... 24
4.4. GESTION COMBINE.................................................................................................................................... 25
4.5. GESTION BROWSER ................................................................................................................................... 26
4.6. DICTIONNAIRE DES OBJETS .......................................................................................................................... 27
4.7. VALIDATION DUN OBJET ............................................................................................................................ 30

5. FENETRE ................................................................................................................................................. 31

5.1. DEFINITION .............................................................................................................................................. 31


5.2. RESUME ................................................................................................................................................. 32
5.3. ONGLET ECRANS ...................................................................................................................................... 32
5.4. ONGLET BOUTONS/MENUS ........................................................................................................................ 32
5.5. ONGLET BOUTONS PREDEFINIS .................................................................................................................... 33
5.6. ONGLET BROWSER.................................................................................................................................... 33
5.7. EXERCICE : GESTION DES ARTICLES ................................................................................................................ 34

6. MENUS LOCAUX..................................................................................................................................... 39

6.1. DEFINITION .............................................................................................................................................. 39

7. TABLES DIVERSES ................................................................................................................................... 40

7.1. DEFINITION ............................................................................................................................................. 40


7.2. SAISIE DES DONNEES.................................................................................................................................. 40
7.3. GESTION DE TABLE DE DEPENDANCE ............................................................................................................. 41

8. VUES ...................................................................................................................................................... 42

Copyright Sage 2011 Page 3


SAFE X3 DEVELOPPEMENT

8.1. DEFINITION ............................................................................................................................................. 42


8.2. PARAMETRAGE DE LA VUE .......................................................................................................................... 42
8.3. STRUCTURE GENEREE EN VALIDATION ........................................................................................................... 44
9. CODES ACTIVITE ..................................................................................................................................... 46

9.1. DEFINITION ............................................................................................................................................. 46


9.2. CODES ACTIVITES FONCTIONNELS STANDARDS................................................................................................. 46
9.3. CODES ACTIVITES DE DIMENSIONNEMENT....................................................................................................... 46
9.4. CODES ACTIVITES DE LOCALISATION............................................................................................................... 47
9.5. CODE ACTIVITES FONCTIONNELS SPECIFIQUES .................................................................................................. 47
9.6. PARTICULARITE DE LA DESACTIVATION PAR CODE ACTIVITE ................................................................................ 47

10. ACTIONS CHAMPS.............................................................................................................................. 49

10.1. DEFINITION ............................................................................................................................................. 49


10.2. APPEL DES ACTIONS SUR CHAMP .................................................................................................................. 50
10.3. LISTE DES ACTIONS SUR CHAMPS .................................................................................................................. 53
10.4. VARIABLES UTILISABLES POUR LES ACTIONS SUR CHAMPS .................................................................................. 59
10.5. ACTIONS STANDARD CAPITALISEES ................................................................................................................ 60

11. TYPES DE DONNEES ........................................................................................................................... 61

11.1. DEFINITION ............................................................................................................................................. 61


11.2. DONNEES DE BASE .................................................................................................................................... 61
11.3. DONNEES STANDARDS ............................................................................................................................... 62
11.4. ACTIONS SUR CHAMP ................................................................................................................................ 62
11.5. ACTIONS SUR CHAMP POUR UN BLOC TABLEAU ............................................................................................... 62
11.6. TYPE DE DONNEES LIEES A LOBJET : .............................................................................................................. 63
11.7. TEXTE TRADUITS ....................................................................................................................................... 63
11.8. CLOB ET BLOB .......................................................................................................................................... 65
11.9. SYNTAXE DU FORMAT ................................................................................................................................ 65
11.10. POUR UNE ACTION : ORDRE DEXECUTION ................................................................................................. 68
11.11. EXERCICE : GESTION DES CLIENTS (GESTION SIMPLE).................................................................................... 69

12. MODELE OBJET ............................................................................................................................ 75

12.1. DEFINITION ............................................................................................................................................. 75


12.2. UTILISATION DU MODELE OBJET ................................................................................................................... 77
12.3. GESTION TABLE DENTETE PLUS TABLE DE DETAIL ............................................................................................. 92
12.4. EXERCICE : GESTION DES COMMANDES (GESTION ENTETE - DETAIL) .................................................................... 98
12.5. GESTION DES BOUTONS/MENUS ............................................................................................................... 107
12.6. LES BROWSERS....................................................................................................................................... 109

13. ACTIONS .......................................................................................................................................... 115

13.1. DEFINITION ........................................................................................................................................... 115


13.2. INFORMATIONS GENERALES ...................................................................................................................... 116
13.3. RENSEIGNEMENT DES PARAMETRES ............................................................................................................ 117

14. MODELE SAISIE FENETRE ............................................................................................................ 120

14.1. DEFINITION ........................................................................................................................................... 120


14.2. PARAMETRAGE DE LACTION ..................................................................................................................... 120
14.3. ACTIONS SUR MODELE ............................................................................................................................. 121
14.4. GESTION DES BOUTONS/MENUS ................................................................................................................ 124

Copyright Sage 2011 Page 4


SAFE X3 DEVELOPPEMENT

14.5. GESTION DES BROWSERS .......................................................................................................................... 127


14.6. EXERCICE : MENU DANS GESTION COMMANDE ............................................................................................. 128

15. MODELE TRAITEMENT STANDARD ............................................................................................. 131


15.1. DEFINITION ........................................................................................................................................... 131
15.2. PARAMETRES ......................................................................................................................................... 132
15.3. ACTIONS SUR MODELES : MODE INTERACTIF ................................................................................................. 133
15.4. ACTION SUR MODELES : MODE BATCH ......................................................................................................... 138

16. FONCTIONS ...................................................................................................................................... 142

17. MODELE AFFICHAGE DIVERS ...................................................................................................... 144

17.1. DEFINITION: .......................................................................................................................................... 144


17.2. ACTION UNIQUE TRT_DIV ....................................................................................................................... 144

18. MODELE HORS MODELE ............................................................................................................. 145

18.1. DEFINITION :.......................................................................................................................................... 145


18.2. PARAMETRE DU SOUS-PROGRAMME ........................................................................................................... 145
18.3. DECLARATION DU SOUS-PROGRAMME ........................................................................................................ 146
18.4. EXERCICE : CALCUL DE LEN-COMMANDE CLIENT EN BATCH ............................................................................. 148

19. MODELE SELECTION TABLE ........................................................................................................ 151

19.1. DEFINITION :.......................................................................................................................................... 151


19.2. ACTIONS SUR MODELE ............................................................................................................................. 152

20. MODELE SELECTION LISTE .......................................................................................................... 154

20.1. DEFINITION :.......................................................................................................................................... 154


20.2. ACTIONS SUR MODELES............................................................................................................................ 155
20.3. VARIABLES DISPONIBLES EN LECTURE :......................................................................................................... 157

21. MODELE CONSULTATION ........................................................................................................... 158

21.1. DEFINITION :.......................................................................................................................................... 158


21.2. FENETRE PRINCIPALE :.............................................................................................................................. 158
21.3. FENETRE DE CRITERES : ............................................................................................................................ 159
21.4. ELEMENTS COMPOSANT UNE CONSULTATION ............................................................................................... 159
21.5. PARAMETRES DUNE CONSULTATION .......................................................................................................... 160
21.6. ACTION SUR MODELE CONSULTATION ......................................................................................................... 162
21.1. EXERCICE CONSULTATION DES COMMANDES STANDARDS ................................................................................ 166

22. POINT DENTREE .............................................................................................................................. 168

22.1. REGLES DES POINTS DENTREE ................................................................................................................... 168


22.2. EXERCICE : GESTION DES COMMANDES STANDARD ........................................................................................ 169

23. ECRANS GRAPHIQUES ...................................................................................................................... 173

23.1. PRESENTATION GRAPHE SIMPLE ET MULTI .................................................................................................... 173


23.2. PARAMETRAGE....................................................................................................................................... 175
23.3. GANTT ................................................................................................................................................. 177
23.4. AGENDA ............................................................................................................................................... 179
23.5. PLANNING MENSUEL ............................................................................................................................... 181
23.6. COMPOSANTS GRAPHIQUES ...................................................................................................................... 184
23.7. PLANNING ANNUEL ................................................................................................................................. 185

Copyright Sage 2011 Page 5


SAFE X3 DEVELOPPEMENT

23.8. NOMENCLATURE HORIZONTALE ................................................................................................................. 187


23.9. NOMENCLATURE VERTICALE ...................................................................................................................... 190
23.10. RADAR ............................................................................................................................................. 193
23.11. BROWSER ......................................................................................................................................... 195
23.12. BUREAUTIQUE ................................................................................................................................... 196
23.13. METHODES JAVASCRIPT ....................................................................................................................... 199
23.14. EDITEUR HTML ................................................................................................................................. 201
23.15. VUE PORTAIL ..................................................................................................................................... 202
23.16. EXERCICE : CONSULTATION DES COMMANDES .......................................................................................... 203

24. SPECIFIQUE ...................................................................................................................................... 209

24.1. REGLES GENERALES ................................................................................................................................. 209

25. CONCLUSION ................................................................................................................................... 217

25.1. THEMES ABORDES AU COURS DE CETTE FORMATION : ..................................................................................... 217


25.2. TABLEAU DES FORMATIONS....................................................................................................................... 218

26. EXERCICES COMPLEMENTAIRES ....................................................................................................... 219

26.1. EXERCICE A : CHANGEMENT DE STYLE (COMPLEMENT EX 1)............................................................................. 219


26.2. EXERCICE B : TEXTES TRADUITS EN GESTION ARTICLE (COMPLEMENT EX 1 ) ........................................................ 220
26.3. EXERCICE C : LISTES GAUCHES EN GESTION CLIENT (COMPLEMENT EX 2) ........................................................... 221
26.4. EXERCICE CONSULTATION CLIENT ............................................................................................................... 223
26.5. SUJETS ABORDES .................................................................................................................................... 225

Copyright Sage 2011 Page 6


SAFE X3 DEVELOPPEMENT

1. INTRODUCTION

Introduction

Dossier Uniquement dans le dossier mre :


Dossiermre
mre Tables : systme X3
Traitement
Traitementstandard
standard Sources : SUB*, FUN*, IMP*,
Excutables : tout le standard
Etats : tout le standard

Dossier Dossier vertical, spcifique :


DossierFils
Fils Tables : superviseur, dictionnaire, applicatives
Traitement Vertical
Traitement Vertical Sources : vertical / spcifique
Excutables : vertical / spcifique
Etats : vertical / spcifique
Traitement
Traitementspcifique
spcifique

Copyright Sage 2009-2010 Safe X3 Dveloppement 4

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.

Copyright Sage 2011 Page 7


SAFE X3 DEVELOPPEMENT

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

Copyright Sage 2009-2010 Safe X3 Dveloppement 5

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.

Copyright Sage 2011 Page 8


SAFE X3 DEVELOPPEMENT

2. TABLES

2.1. RESUME

> Description gnral de la table


Code et abrviation unique de la table.
Code activit pour les tables spcifiques.

> Renseignements des champs de la table dans le dictionnaire


Code du champ unique dans toute la table.
Code activit sil sagit dun champ spcifique dans une table standard.
Liaison avec une autre table X3.
Obligatoire ou non.
Options descendues au niveau des crans.

> Cration des index


Premier index sans homonyme de nom abrviation de la table+0
Des index spcifiques peuvent tre crs pour amliorer les performances de
parcours des tables.
Ils sont appels abrviation de la table+n et tagus par code activit

> Audit
Permet de tracer les modifications dune table.

2.2. DESCRIPTION DETAILLE DES PARAMETRES DUNE TABLE

2.2.1.Onglet Gnral

Champs Code et Abrviation :


Comme pour tous les lments stocks dans les dictionnaires, les noms des tables superviseurs
(moteur) commencent par la lettre A . Ces tables ne doivent pas tre modifies. Les noms des
tables spcifiques doivent commencer par X, Y ou Z.

X : pour les verticaux


Y : pour les spcifiques distributeurs
Z : pour les spcifiques clients

Idem pour les Abrviations : Axx / X,Y,Zxx table superviseur / table spcifique

Champ Code Activit :


Mme prfixe : X,Y,Zxx
Ceci permet au superviseur didentifier une table cre ou modifie en spcifique.

Champs Intitul :
Renseignement des champs dintitul long et court pour les traitements superviseurs.
Ceci permet laffichage automatique de cet intitul dans les crans.

Pour laffichage de lintitul long/court, la norme est la suivante :

Pour lintitul long, prendre le type de donne :

DES (long 30) texte non soumis la traduction


AX3 (long 30) texte traduisible

Pour lintitul court, prendre le type de donne :

Copyright Sage 2011 Page 9


SAFE X3 DEVELOPPEMENT

SHO (long 10) texte non soumis la traduction


AX1 (long 12) texte traduisible

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.

Rgle daffectation des modules :


Un lment dictionnaire ne peut contenir que des lments de module identique ou
OBLIGATOIREMENT install (module obligatoire ou prsent du fait de la dpendance).
Par exemple, un cran du module Ventes, ne peut contenir que des actions Ventes, Superviseur ou
Tronc commun, mais en aucun cas, des actions de modules Support client CRM, Achat ...
Les modules techniques Superviseur et Tronc commun sont SYSTEMATIQUEMENT installs, dans
un dossier client.

Champ Type de base :


Le Type de base est par dfaut celui du dossier.

Champ Nombre de fiches :


Il permet de dimensionner la taille de la table crer.

Champ Format 130 :


Donne laccs un dossier en version 130.

Champ Gnration textes traduisibles :


Si la case est coche alors il y a gnration dun fichier plat exploitable ensuite dans Crystal par la
fonction X3TranslatedText (affichage de texte dans une langue donne).
Sinon, pour obtenir un texte traduit, il sera ncessaire dutiliser la vue AVWTEXTRA.

Champ Remise zro :


Si la case est coche alors la table sera efface par lutilitaire de remise zro du dossier.

Champ Accs non scuris :


Si la case est coche alors tous les dossiers peuvent accder cette table en lecture criture.
Sinon seuls les dossiers autoriss peuvent y accder (onglet Liens dans la fiche dossier)

Champ Type de table :


Liste des types de tables :
Applicatif,
Superviseur,
Systme X3 (dossier mre),
Dictionnaire,
Interne (non livr).

Pour des tables spcifiques, la valeur Applicatif doit tre choisie.

Champ Type de copie :


Est utilis linitialisation du dossier fille.

Champ Type livraison :


Interne Adonix, ne doit pas tre modifi.

Copyright Sage 2011 Page 10


SAFE X3 DEVELOPPEMENT

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.

Copyright Sage 2011 Page 11


SAFE X3 DEVELOPPEMENT

2.2.4.Possibilit daudit la 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)

Stockage des rsultats :


Tables ALOGIN, AUDITH, AUDITL

Rsultat audit :
Affichage systmatique des crations et suppressions denregistrement.
Affichage des enregistrements dont les champs modifis correspond au paramtrage.

Copyright Sage 2011 Page 12


SAFE X3 DEVELOPPEMENT

2.3. LES LIMITES

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

limit 255 champs par table


limit 512 colonnes ( champ1*dimension1 + champ2*dimension2 + ... +
champN*dimensionN )
limit soit un champ de type blob ou clob, la taille totale de lenregistrement est limite
2Go.
Soit plusieurs champs, mais dans ce cas, la taille totale de lenregistrement est limite 64
Ko.

Nombre de tables ouvertes :


Limit par [S]Adxmto dont le maximum est 255 tables.

Mode de stockage :
unicode ou ascii

2.4. ACTION BOUTON BAS DECRAN

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.

Copyright Sage 2011 Page 13


SAFE X3 DEVELOPPEMENT

2.5. DES CHAMPS PARTICULIERS

Si besoin de :
stocker utilisateur et date de cration et modification.
faire des exports sur les enregistrements modifis ou crs depuis le dernier export.

Alors la liste de champs ci-dessous peut tre utilise :

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.

CREDAT & UPDDAT


Informations alimentes par la date systm
ervtst0l

Copyright Sage 2011 Page 14


SAFE X3 DEVELOPPEMENT

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.

Copyright Sage 2011 Page 16


SAFE X3 DEVELOPPEMENT

3.3. AGENCEMENT DES BLOCS

Position de chaque bloc :


Les blocs sont positionns par les coordonnes (ligne,

Copyright Sage 2011 Page 17


SAFE X3 DEVELOPPEMENT

3.5. CHAMPS SPECIAUX A PARAMETRER

3.5.1.Clob :

Type de donne : ACB


Objet graphique : texte multi-lignes

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.

A lexcution, format dans la barre de menu pour dfinir :


La police
Les attributs (gras, italique, soulign)
Le cadrage du texte
Le mode diteur

3.5.2.Blob :

Type de donne : ABB


Objet graphique : photo

Paramtres :
Occupation : Lignes et colonnes physiques
Type photo :
Normale
Etire
Proportionnelle

Menu contextuel :
Slectionner
Enregistrer

3.5.3.Type de champ Icne

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.

Action sur une icne :


Clic sur licne si le champ est saisissable.
Pas de menu contextuel.

Les icones utilisables sont renseignes dans le menu :


Dveloppement>Utilitaires>Recherches>Affichage icnes

et affichs dans le menu en haut du dictionnaire des crans : Visualisation>Icones

Copyright Sage 2011 Page 19


SAFE X3 DEVELOPPEMENT

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.

Autres champs de paramtrage :


Traitement spcifique
Traitement vertical
Coordonnes cran : nb lignes et nb colonnes

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.

3.6. CONTRAINTE TECHNIQUE POUR LAPPEL DUN BLOC TABLEAU DEROULANTS


Pour fonctionner, un tableau droulant doit contenir une variable de bas de tableau. Celle-ci doit :

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.

Les informations renseigner dans blocs sont :


Les options
Le nombre maximum de lignes
La variable de bas de tableau.

Exemple
Ecran SOH4 contenant les lignes de commandes de ventes.

Copyright Sage 2011 Page 20


SAFE X3 DEVELOPPEMENT

Traitement W0xxx :
Traitements entirement gnrs pour limport

Traitement W1xxx :
Traitements entirement gnrs pour la saisie

Traitement SUBxxx & SPVxxx & SPExxx :


Nous retrouverons dans ces traitements les tiquettes (appels) des sous-programmes, qui
sont gnrs pour les actions sur champs la suite de la validation de lcran. Une fois les tiquettes
des sous programmes gnres, les sous programmes sont crire. Ces traitements sont dtaills
dans le chapitre action sur champs .

xxx est le code de lobjet

Copyright Sage 2011 Page 21


SAFE X3 DEVELOPPEMENT

Notes

Copyright Sage 2011 Page 22


SAFE X3 DEVELOPPEMENT

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.

4.2. GESTION OBJET SIMPLE

Objets : 4 types de gestion


Gestion Objet simple

Exemple Donnes de base>Tiers>Tiers


90% des objets X3 utilise cette gestion, particulirement adapt pour affich les objets
possdants un grand nombre de champs.
Lors de la transaction, seul lobjet courant est modifi.

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

Copyright Sage 2009-2010 Safe X3 Dveloppement 12

Lobjet se prsente sous la forme :


dune fentre compose dun entte et de 15 onglets maximum
dune liste de slection gauche ( browser )

La cration se fait par : fichier nouveau.


La duplication se fait par : modification de la cl par une valeur non encore cre dans le fichier
La suppression se fait par : bouton bas dcran supprimer

Copyright Sage 2011 Page 23


SAFE X3 DEVELOPPEMENT

4.4. GESTION COMBINE

Objets : 4 types de gestion


Gestion combin

Exemple Donnes de base>Tables tiers>Conditions de paiement


Permet de grer un regroupement denregistrement en tableaux sur une gestion dobjet
simple.
Lors dune transaction, tous les enregistrements concernant les N-1 premiers arguments
sont supprims pour tre recrs

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.

Copyright Sage 2009-2010 Safe X3 Dveloppement 14

Cette gestion est identique la gestion tableau pour 1 groupe denregistrement.


Le groupe est dfini par les n premiers champs de cl -1.

Lobjet se prsente sous la forme :


Dun cran
Liste de slection gauche ( browser )
N-1 premiers arguments identiques

La cration et la suppression dun groupe se fait par : fichier nouveau et le bouton bas dcran
supprimer

La cration et la suppression dun lment se fait par insertion et suppression ligne

Copyright Sage 2011 Page 25


SAFE X3 DEVELOPPEMENT

4.5. GESTION BROWSER

Objets : 4 types de gestion


Gestion browser

Exemple Vente>Commandes>Commandes liste slection devis


Permet de cr

Il sagit dune liste gauche

Une liste peut-tre reprsente par :


Une numration denregistrements provenant dune ou plusieurs tables, il est alors possible par
traitement de les trier et de les filtrer. Exemple dictionnaire des crans liste Utilisations de lcran
Permettant de lister les fentres utilisant un cran.

Une liste hirarchise, regroupant les enregistrements visualisables.


Exemple Stocks>Inventaire>Inventaire permettant de regroupe les inventaires par cession
dinventaires.

Une liste de picking servant mettre jour les lignes dun tableau.
Exemple Vente>Commandes>Commandes la liste de picking des devis.

La partie dveloppement est dtaille au chapitre 11.

Copyright Sage 2011 Page 26


SAFE X3 DEVELOPPEMENT

Dclaration de filtres utilisables ou non lors de lappel cet objet.


Code spcifique :
Toutes les lettres minuscules.

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)

2- contenu de la liste gauche et des crans de slection et slection avance


Table/Zone : permet de choisir un champ dune table rfrence dans lobjet. On ne peut pas saisir un
champ avec indice. Le systme prend le 1er poste.
expression/type/intitul : permet de construire un lment.

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 )

Tableau des IMPORT :


Ce tableau permet la gestion des imports export dimporter les donnes renseignes dans
les crans ne figurant pas sur la fentre principale lors de la simulation de saisie. (Voir cours sur les
Imports/Exports)
Pour chaque table de lobjet, on prcise lcran mis jour par transclasse.

Tableau crans complmentaires :


Ouverture des crans ne faisant pas parti de la fentre principale pour la simulation de saisie
dun Web service. (Voir cours sur les Web services)

4.6.5.Onglet Vues

Il permet de renseigner jusqu 10 vues.


Stockage de ces informations dans la table AOBJET.
Louverture et fermeture des vues sont gnres dans le traitement WOXXX, comme pour les tables.

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

Certains champs de lobjet sont maintenant considrs comme du paramtrage.

Copyright Sage 2011 Page 28


SAFE X3 DEVELOPPEMENT

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

Copyright Sage 2011 Page 29


SAFE X3 DEVELOPPEMENT

5. FENETRE

5.1. DEFINITION

Fentres

Dfinition
La fentre contient les crans afficher et lobjet faisant rfrence la table principal.

Fentre
Fentre

Ecrans Objet Table


Traitement standard SUBxxx Traitement standard SUBxxx
Traitement vertical SPVxxx Traitement vertical SPVxxx
Traitement spcifique SPExxx Traitement spcifique SPExxx

++ Boutons
Boutons/ /Menus
Menus Objets browser

Copyright Sage 2009-2010 Safe X3 Dveloppement 18

Fentre objet :
Elle se nomme Oxxx ( xxx=code objet )

Fentre objet avec Transactions :


Sil y a des transactions de saisie pour un objet, les crans sont gnrs ainsi que la
fentre. Celle-ci se nomme WOxxxyyy ( xxx = objet & yyy = transaction de saisie)

Validation globale (par le menu Validation ) :


Permet de valider la fentre, les crans, lobjet lis la fentre.

Copyright Sage 2011 Page 31


SAFE X3 DEVELOPPEMENT

5.2. RESUME

Le dictionnaire des fentres est dans le menu :


Dveloppement>Dictionnaire traitements>Fentres

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 Boutons prdfinis


Ajout ou suppression des boutons et menus standards.

Onglet Browser
Ajout des listes gauches spcifiques, exemple fentre OSOH (gestion des
commandes)

5.3. ONGLET ECRANS

Type fentre :
Objet

Copyright Sage 2011 Page 32


SAFE X3 DEVELOPPEMENT

5.7. EXERCICE : GESTION DES ARTICLES

5.7.1.Objectif

Dvelopper une gestion des articles sous forme tableau.

5.7.2.Marche suivre

Vous avez votre disposition le code activit spcifique YSO.


Cration du menu ZMCOU dans le menu gnral GENE du profil ADMIN.

Ces 2 lments seront utiliss dans tous les exercices.

Cration de la table YITEMX.


Cration de lcran YIX1.
Cration de lobjet YIX.
Cration de la fentre OYIX.

Pour ce faire, utiliser les descriptions ci-dessous.

Table des articles

Code table : YITEMX


Abrviation : YIX
Module : Tronc commun

Zone Type de la zone Longueur Dimension Intitul


YITMREF Alphanumrique 20 1 Article
YITMDES Alphanumrique 30 1 Intitul
YITMSHO Alphanumrique 10 1 Intitul court
YUOM UOM 1 Unit
YORDNOT Dcimal 13.2 1 Prix de base
YVATRAT Dcimal 3.2 1 Taux de taxe
Champ particulier 1 Numro export
Champ particulier 1 Oprateur cration
Champ particulier 1 Date cration
Champ particulier 1 Oprateur de modification
Champ particulier 1 Date de modification

Index Descripteur de lindex Homonymes


YIX0 YITMREF Non

Copyright Sage 2011 Page 34


SAFE X3 DEVELOPPEMENT

5.7.6.A vrifier

Vrifier la bonne initialisation de votre nouveau champ.


Vrifier que les lignes darticles actifs sont bien colories.
Noter que lautomatisme est bien pris en compte quand on entre dans la fonction mais que celui-ci
nest pas automatique chaque modification du champ ENAFLG.
Par la suite, on ajoutera une action pour prendre en compte cet automatisme. Exercice annexe NA.

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 :

Copyright Sage 2011 Page 37


SAFE X3 DEVELOPPEMENT

6. MENUS LOCAUX

6.1. DEFINITION

Les menus locaux se trouvent dans le menu :


Dveloppement>Dictionnaire donnes>Tables>Menus locaux Messages

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

Flag menu local :


Permet de faire la distinction entre les menus locaux et messages

Appel dun message :


Fonction : Mess(lment, chapitre, 1)

Recherche dun message :


Menu : Dveloppement/utilitaires/Recherches/Message

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.

Copyright Sage 2011 Page 39


SAFE X3 DEVELOPPEMENT

7. TABLES DIVERSES

7.1. DEFINITION

Les tables diverses sont cres dans le menu :


Dveloppement>Dictionnaire donnes>Tables diverses>Dfinition

Permet de crer une table contenant au maximum 7 champs.


Intressant pour crer de petites tables de travail sans alourdir le dictionnaire des tables.
A linverse des menus locaux, les tables diverses sont paramtrables par dfaut par
lutilisateur.
A la cration le numro de la table diverse doit respecter les plages donnes ci-dessous.

Vertical 1000 1999


Spcifique 6000 6999

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.

Longueur modifiable (pour lment cl) :


Longueur code peut tre modifiable par fonction du paramtrage
Longueur code peut tre diffrente dune table une autre
Longueur doit tre infrieure ou gale la valeur contenue dans le dossier mre X3

7.2. SAISIE DES DONNEES

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).

Copyright Sage 2011 Page 40


SAFE X3 DEVELOPPEMENT

7.3. GESTION DE TABLE DE DEPENDANCE

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)

Copyright Sage 2011 Page 41


SAFE X3 DEVELOPPEMENT

# si code activit de dimension 3


%string$(find(func AFNC.ACTIV( XXX ),3)<>0,, LIEN_2)%
From TABLETEST

Requte et base de donnes :


Doit tre crite dans le langage de la base de donnes courante du dossier.
Pour toute vue standard livre, la requte doit tre crite pour les 2 bases de donnes (menu "Option /
Base")
Order by inutile car annul et remplac par celui du For ou du Read (implicite si non renseign)

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

Permet de constituer la classe [F]


Il doit y avoir compatibilit entre la requte et la description des champs (nombre, ordre et type
interne), ce contrle est effectu lors de la validation de la vue. Les champs de type clob et blob sont
autoriss. Champs textes traduits ne sont pas autoriss. (Ils nexistent pas dans la base)

Aide la cration
Fentre permettant la saisie dune table et la slection dun ou plusieurs champs associs

Aide sur nom de champ


Tunnel sur codification
Outil permettant la signification du champ

8.2.4.Onglet Cls

Pas de cration dindex,


Gnration dun order by dans la requte (attention aux performances)

Performances
Table sans trop denregistrements, ou avoir une clause Where pertinente

Copyright Sage 2011 Page 43


SAFE X3 DEVELOPPEMENT

8.3. STRUCTURE GENEREE EN VALIDATION

Vue dans la base par linstruction create view


Dans rpertoire FIL
Un fichier *.srf contenant la liste des champs (flag #V en 3me ligne)
Un fichier *.fde gnr par valfil -n
Un fichier *.viw contenant la description de la requte

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

Vues avec Crystal Report :


Accessible en conception dtat (si autoris dans fichier/option/base de donnes)
Utilisables comme des tables (Slection, lien, et placement champ)

Validation dune table ou dune vue utilise dans une vue :


Sur une base Oracle, la vue est casse suite validation force table ou vue utilise dans sa
requte. Une validation est force par choix utilisateur ou automatiquement lorsquil y a changement
de structure. Donc, suite validation table ou vue le superviseur relance la validation des vues
casses sur dossier courant et historis. Revalider manuellement les vues sur autres dossiers.

Nommage des vues


Validation dans lordre alphabtique du nom des vues. Une vue appele doit tre valide avant la vue
principale. Son nom doit tre antrieur celui de la vue principale (suivant lordre alphabtique).

Dossier historis
Les vues du dossier principal sont cres automatiquement dans le dossier historis la cration du
dossier historis, et la validation des vues.

8.3.1.Programmer avec 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.

Instructions utilisables pour les vues


(local) file
close (local) file
Default file
Filter [x] Where Order by
For [x] Next

Copyright Sage 2011 Page 44


SAFE X3 DEVELOPPEMENT

9.4. CODES ACTIVITES DE LOCALISATION

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.

9.5. CODE ACTIVITES FONCTIONNELS SPECIFIQUES

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.

9.6. PARTICULARITE DE LA DESACTIVATION PAR CODE ACTIVITE

Champ table toujours prsent :

Ce champ est gnr dans la base de donnes.


En effet, les tats Crystal s'appuyant sur la dfinition de nos tables doivent fonctionner que ce
champ soit actif ou inactif.

Type de donne de base :

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.

Dimension du champ Table :

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.

Copyright Sage 2011 Page 47


SAFE X3 DEVELOPPEMENT

Notes

Copyright Sage 2011 Page 48


SAFE X3 DEVELOPPEMENT

10. ACTIONS CHAMPS

10.1. DEFINITION

Les actions sur champs permettent de renseigner des contrles, des affichages ou div

Copyright Sage 2011 Page 49


SAFE X3 DEVELOPPEMENT

Action champ

Code action
place sur un champ
Traitement nomm sur cran

STD SUBxxx

SPV SPVxxx

SPE SPExxx

action Traitement capitalis

Copyright Sage 2009-2010 Safe X3 Dveloppement 27

Ordre dexcution est Spcifique Vertical Standard

Copyright Sage 2011 Page 51


SAFE X3 DEVELOPPEMENT

10.3. LISTE DES ACTIONS SUR CHAMPS

Action champ

Type action Contexte d appel & emploi Etiquette

Avant_zone avant laffichage de la zone AV_zone


ex : dfinir le format
conditionner laffichage
affecter une couleur (V130)

Init initialisation de la zone D_zone


en cration seulement
Affichage
Avant_saisie avant la saisie de la zone AS_zone
ex : dsactiver lments menu local
conditionner la saisie

Copyright Sage 2009-2010 Safe X3 Dveloppement 29

Avant_zone :

Mkstat=0 : la zone sera affiche,


1: la zone ne sera ni affiche ni saisie. Elle sera rinitialise,
2: la zone ne sera ni affiche ni saisie.

Init :
Initialisation dun champ
Ex : [L]VALEUR = toto
Attention, dans un tableau, linit est seulement actif la cration de ce tableau.

Avant_saisie :

0: la zone sera saisissable,


1: la zone ne sera pas saisissable. Elle sera rinitialise,
2: la zone ne sera pas saisissable.

Pour supprimer des valeurs dun menu local. GMENLOC(n)=1


Utilisez un type de donne MM.

Copyright Sage 2011 Page 53


SAFE X3 DEVELOPPEMENT

Contrle, Aprs_zone, Aprs_modif :


affichage dun message [V]GMESSAGE = message ou [V]GMESSAGE = mess(10,100,1)
dans une boite derreur [S]mkstat=2 ( GERR = 1 automatiquement )
dans une boite de message GERR = 2
dans une boite davertissement GERR = 3 ( mkstat = 2 automatiquement, si loprateur rpond
annuler )
dans la barre de texte GERR = 4

Pour les boites davertissement :


Les sous-programmes OUINON et AVERTIR From GESECRAN
sont utilisables si lon veut exploiter la rponse dans laction de controle.

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

Copyright Sage 2011 Page 54


SAFE X3 DEVELOPPEMENT

Action champ
Menu contextuel
Type action Contexte dappel & emploi Etiquette

Slection Fentre de slection S_zone

Init_bouton Attribuer ou effacer le texte du bouton IB_zone

Bouton i A lactivation dun bouton Bi_zone


(i = 1 20) ex : traitement li au bouton

Copyright Sage 2009-2010 Safe X3 Dveloppement 31

Cration dun bouton contextuel :

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.

Copyright Sage 2011 Page 55


SAFE X3 DEVELOPPEMENT

Action champ
Icne
Type action Contexte dappel & emploi Etiquette

Clic Clic sur icne CL_zone

Copyright Sage 2009-2010 Safe X3 Dveloppement 32

CL_zone :
Valeur contient le code de licne

Action disponible sur champ saisi


Action disponible galement sur champ diszonn .

Utilisation dune action dictionnaire si saisie/affichage dune fentre (pour version Web)
Positionner mkstat = 4, pour dclencher lactivation du bouton enregistrer.

Copyright Sage 2011 Page 56


SAFE X3 DEVELOPPEMENT

Avant_ligne & Aprs_ligne :


Ces 2 actions sont disponibles sur la variable de bas de tableau uniquement.

Copyright Sage 2011 Page 57


SAFE X3 DEVELOPPEMENT

10.4. VARIABLES UTILISABLES POUR LES ACTIONS SUR CHAMPS

Variables globales

GREP (1) char bouton standard slectionn


GIMPORT int. Indicateur traitement import

GBOUT1..20 (35) char intitul bouton contextuel


GBOUTS (35) char intitul bouton slection
GBOUTA (35) char intitul bouton slection avance
GBOUTI (35) char intitul clic sur icne

GMESSAGE(250) char message derreur, dinformation


GERR int. Type message
GMENLOC(0..123) int. Dsactive 1 lment de menu local

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

Copyright Sage 2011 Page 59


SAFE X3 DEVELOPPEMENT

10.5. ACTIONS STANDARD CAPITALISEES

Actions sur champ cl (objet simple)


Les actions sur champs permettent lajout de spcifiques mais peuvent aussi faire
appels des actions (traitements capitalises) standards ou spcifiques.

Contrle particulier sur champ cl li objet :

CONTOBJW

Copyright Sage 2011 Page 60


SAFE X3 DEVELOPPEMENT

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.

11.6. TYPE DE DONNEES LIEES A LOBJET :

Type de donnes li lobjet


Type de donne SOH
Permet daccder une gestion objet par tunnel (optionnel), davoir les fentres de slection
et slection avance, dafficher les proprits de lobjet, de contrler la valeur saisie avec celle
de lobjet, dafficher automatiquement le libell la suite du code de lobjet (optionnel).

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 :

CONTOBJW : le champ est obligatoire sil est alphanumrique

CONTOBJN : aucun contrle nest effectu

11.7. TEXTE TRADUITS

Texte traduit
Texte avec possibilit dafficher la traduction pour les langues dclares dans le
dossier.

champ prsent dans le dictionnaire de table, mais absent de la base de donnes.


AX1 : longueur = 12
AX2 : longueur = 20
AX3 : longueur = 30
AXX : longueur dfinir dans lcran

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 :

Il est absolument ncessaire de programmer la cration, maj. et suppression du texte traduit


dans la table ATEXTRA.
Pour cration et modif, il faut utiliser le sous-programme MAJTEXTRA de ATEXTRA.
Pour la suppression, penser faire le delete dans la table ATEXTRA.
Pour le changement de code, penser faire lupdate dans la table ATEXTRA.

Copyright Sage 2011 Page 63


SAFE X3 DEVELOPPEMENT

Exemple de programmation sur la table TABCOUNTRY.

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)

Copyright Sage 2011 Page 64


SAFE X3 DEVELOPPEMENT

11.8. CLOB ET BLOB

Les clobs sont les champs pouvant contenir des textes longs. Les blobs contiennent les fichiers
binaires, tel que les images.

Longueur = Valeur dossier


Pour ACB et ABB

Longueur non affecte


Pour AC0 et AB0

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.

11.9. SYNTAXE DU FORMAT

Type Options : chane_de_formatage

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.

Types caractres admis (chane de caractres)


A lettres majuscules (A-Z)
a lettres minuscules (a-z)
L lettres majuscules et minuscules (A-Z,a-z)
B lettres majuscules + chiffres
b lettres minuscules + chiffres
C lettres majuscules et minuscules + chiffres
c format cl
H chiffres hexadcimaux (0-9,A-F)

Copyright Sage 2011 Page 65


SAFE X3 DEVELOPPEMENT

X caractres quelconque imprimable


# chiffre (0-9)

Options (chane de caractres)


A obligation de taper les caractres demands : majuscules ou minuscules
T tokenisation (reconnaissance des mots cls)
D pas de token

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

Type caractres admis (nombre)


# placement du signe derrire le nombre
. position du sparateur dcimal pour les nombres en format fixe
F nombre en format flottant

Type caractres admis (date)


D chiffre composant le jour
M chiffre ou lettre composant le mois
Y chiffre composant lanne
h chiffre composant lheure
m chiffre composant les minutes
s chiffre composant les secondes

Type caractres supplmentaires


Possibilit de se paramtrer jusqu 20 caractres supplmentaires dans les paramtres TUL1,
TUL2...TUL20 du chapitre ADX sous la forme C1 T1 T2 ... : c1 c2 ...
C1 est le nouveau type caractres dfinir. Il comprend les types caractres T1 et T2 auxquels on
ajoute les caractres c1 et c2.

Exemples

K:3X2A3# sont identiques


K:XXXAA###

N:15.2 sont identiques


N:15#.2#

Nc:15#.2# affichage du nombre en couleur

D:[Le ]DD[ du mois de ]MMMMMMMM Le 12 du mois de janvier


DZz :[Le ]DD[ du mois de ]MMMMMMMM rien nest affich si la date est nulle
D:DDMMYY 120105

Copyright Sage 2011 Page 66


SAFE X3 DEVELOPPEMENT

Les formats particuliers de dates :

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.

Liste des variables globales contenant un format date :

GFMD : "D:DD[/]MM[/]YYYY" format date interne.


GFMDAT : "DD[/]MM[/]YY" date avec anne sur 2 car.
GFMDAT3 : "DD[ ]MM[ ]YYYY" date avec anne sur 4 car., sans sparateur.
GFMDAT4 : "DD[/]MM[/]YYYY" date avec anne sur 4 car.
GFMDAT9 : "DD[ ]MMMMMMMMM[ ]YYYY" date avec mois en alphanumrique.
GFMJOU : "DD[/]MM" jour/mois
GFMMOI : "MM[/]YY" mois/anne sur 2 car.
GFMMOI4 : "MM[/]YYYY" mois/anne sur 4 car.

Formats prdfinis du langage A EVITER :

DD1 : format$("DD1",[1/1/1994]) -> "01/01"


DD2 : format$("DD2",[1/1/1994]) -> "01/01/94"
DD3 : format$("DD3",[1/1/1994]) -> "01 Janvier 1994 14:38"
DD4 : format$("DD4",[1/1/1994]) -> "01 Janvier 1994 14:38:21"

Copyright Sage 2011 Page 67


SAFE X3 DEVELOPPEMENT

11.10. POUR UNE ACTION : ORDRE DEXECUTION

Sexcute dans lordre :

Type de donne
Action sur champ

Pas de cumul des actions pour :

Bouton
Slection
Click sur icne

Pour une action Slection, Bouton ou Icne :


1 seule action, sur le type de donne
Plusieurs actions possibles, sur le champ (exceptionnel)
Action du type de donne non excute si action sur champ.

Copyright Sage 2011 Page 68


SAFE X3 DEVELOPPEMENT

11.11. EXERCICE : GESTION DES CLIENTS (GESTION SIMPLE)

11.11.1. Objectif

Dvelopper une gestion des clients sous forme entte, 2 onglets et liste gauche.

11.11.2. Marche suivre

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.

Copyright Sage 2011 Page 69


SAFE X3 DEVELOPPEMENT

Prparer ds maintenant la possibilit de :


Contrle dexistence
Fentres de slection
Tunnel vers la gestion des secteurs gographiques
Fentre de proprits

YCNTLASTYP :
Ajouter votre menu local.

YCNTLASDAT :
Date nulle autorise. Se servir des options du champ.

YBPCREM :
Transformer ce champ en clob.

Ecrans des Clients

Ecran dentte identification

Code cran : YCX0


Abrviation : YCX0
Taille : En tte
Traitements associs : SUBYCX standard
SPEYCX spcifique

Champ Saisie Oblig. Particularits


YBPCNUM S Oui Type de donne li lobjet
YBPCNAM S Oui

Copyright Sage 2011 Page 71


SAFE X3 DEVELOPPEMENT

Onglet 2 gnral

Code cran : YCX2


Abrviation : YCX2
Traitements associs : SUBYCX standard
SPEYCX spcifique

Champ Saisie Oblig. Particularits Dvelop.


YARE S Contrle / Slection / Tunnel / Proprits

Copyright Sage 2011 Page 73


SAFE X3 DEVELOPPEMENT

Objet des clients

Code objet : YCX


Module : Tronc commun
Menu standard : MCOU
Rang dans menu : 20
Ecran de slection : Ascendant
Client / Raison sociale / Prospect

Fentre des clients

Code fentre : OYCX


Module : Tronc commun
Type fentre : Objet
Affichage : plein cran
Objet : YCX

11.11.3. A vrifier

Cration, modification, suppression.


Fentre de slection des clients.
Interdiction de crer 2 codes client identiques.
Message davertissement si le code pays nest pas FR ou DE .
Contrle, Slection, Tunnel sur les secteurs gographiques.
Dans les secteurs gographiques, interdiction de supprimer un code utilis pour un client.
Saisie et non saisie du type et date de dernier contact.
Type de dernier contact ne peut pas tre gal 3 (visite) si le pays est DE .
Liste gauche prsentant les clients existants.

Copyright Sage 2011 Page 74


SAFE X3 DEVELOPPEMENT

12. MODELE OBJET

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

Copyright Sage 2009-2010 Safe X3 Dveloppement 38

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

Copyright Sage 2011 Page 75


SAFE X3 DEVELOPPEMENT

Modle objet

Gestion objet : Les Traitements


GOBJET
GOBJET

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.

Copyright Sage 2011 Page 76


SAFE X3 DEVELOPPEMENT

12.2. UTILISATION DU MODELE OBJET

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

Lien entre programmes


$ACTION
Case ACTION
ACTION
ACTION==OUVRE
OUVRE When OUVRE : Gosub OUVRE
GPE SPExxx
GPE==00 When default
Gosub
GosubACTION
ACTIONFrom
FromSPExxx
SPExxx Endcase
return
IfIfGPV
GPV==00
Gosub
GosubACTION
ACTIONFrom
FromSPVxxx
SPVxxx
Endif $ACTION
Endif Case ACTION
SPVxxx
IfIfGPE When OUVRE : Gosub OUVRE
GPE==00 When default
Gosub
GosubACTION
ACTIONFrom
FromSUBxxx
SUBxxx
Endif Endcase
Endif return

$ACTION
Superviseur SUBxxx Case ACTION
When OUVRE : Gosub OUVRE
When default
Endcase
return

Copyright Sage 2009-2010 Safe X3 Dveloppement 40

Dans les traitements du superviseur :


Linstruction Gosub permet dutiliser les variables des classes [F] (table), [M] (cran), et les variables
locales des traitements superviseur.

Dans le SUBxxx, SPVxxx, SPExxx :


Ltiquette $ACTION est gnre dans les traitements SUBxxx, SPVxxx et SPExxx. XXX tant le nom
de lobjet. Le traitement SUB est forcment gnr la validation de lobjet dans le dossier mre X3.
On compltera le sous-programme en testant la valeur de la variable ACTION. La variable ACTION
est modifie par le traitement superviseur selon lvnement lancer.

Ordre dappel des actions :


Laction spcifique
Laction verticale si GPV=0
Laction standard si GPE=0

Copyright Sage 2011 Page 77


SAFE X3 DEVELOPPEMENT

Modle objet

traitement spcifique : rgle dcriture des actions

$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

Copyright Sage 2009-2010 Safe X3 Dveloppement 41

Copyright Sage 2011 Page 78


SAFE X3 DEVELOPPEMENT

Modle objet

Cinmatique de lobjet Pour la table


principale

Lock
Locklogique
logique

La saisie

Lock
Lockphysique
physique
Trbegin
La transaction de mise jour
Commit

Copyright Sage 2009-2010 Safe X3 Dveloppement 42

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.

2 - La transaction de mise jour


Commence ds que la saisie est termine, aprs clic du bouton crer ou enregistrer. Basculement de
la classe [M] masque vers la classe [F] fichier et mise jour de la table.

Copyright Sage 2011 Page 79


SAFE X3 DEVELOPPEMENT

12.2.2. Gestion simple en cration

Les vnements utilisables en gestion de cration dun enregistrement sont les suivants :

Modle objet

gestion simple : en cration

RAZCRE avant la saisie

VERIF_CRE avant la transaction de mise jour

Trbegin
INICRE aprs le chargement de la classe [F]

CREATION aprs lcriture de lenregistrement


Commit

APRES_CRE aprs la transaction de mise jour

AB_CREATION si abandon de la transaction

Copyright Sage 2009-2010 Safe X3 Dveloppement 43

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

#-- Effacement des masques adresse


Raz GTARFLG

Copyright Sage 2011 Page 80


SAFE X3 DEVELOPPEMENT

Raz [M:ADB1], [M:ADB2]

#-- Activation/Desactivation des zones en fonction du contexte #


Gosub GRIZE_LIENS
Affzo [M:SQH0]SALFCY, QUODAT
Affzo [M:SQH1]STOFCY
Return
###########################################################################

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

Copyright Sage 2011 Page 81


SAFE X3 DEVELOPPEMENT

GERR=1:GMESSAGE = mess(60,199,1) : GOK=0 : Return


Endif
Endif
###########################################################################

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
###########################################################################

Copyright Sage 2011 Page 82


SAFE X3 DEVELOPPEMENT

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.

fstat = 1 enregistrement verrouill (lecture)


2 cl suivante lue (lecture)
3 cl dj existante (criture)
4 dbut/fin de fichier (lecture)
5 pas denregistrement courant (lecture)
autre erreur grave fstat = nnn

Copyright Sage 2011 Page 83


SAFE X3 DEVELOPPEMENT

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

# Actualise la liste gauche


Gosub RELIT From GOBJSUB
[M:SQH0]SQHNUM = [F:SQH]SQHNUM

#Mise jour du champ "Nb de devis" de la fiche Affaire. #


If [M:SQH1]PJT <> ""
If !clalev([F:OPP]) : Local File OPPOR [OPP] : CLOFLG = 1 : Endif
Read [OPP] OPP0 = [M:SQH1]PJT
If !fstat
Call DEBTRANS From GLOCK
Trbegin [OPP]
[F:OPP]OPPNBQ += 1
Rewrite [OPP]
If fstat : Rollback : Else : Commit : Endif
Endif

If CLOFLG : Close Local File [OPP] : Endif


Endif
###########################################################################

Copyright Sage 2011 Page 84


SAFE X3 DEVELOPPEMENT

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
###########################################################################

12.2.3. Gestion simple en duplication

Modle objet

gestion simple : en duplication

RAZDUP avant la saisie

VERIF_CRE avant la transaction de mise jour


Trbegin
INICRE aprs le chargement de la classe [F]
CREATION aprs lcriture de lenregistrement
Commit

APRES_CRE aprs la transaction de mise jour

AB_CREATION si abandon de la transaction


Copyright Sage 2009-2010 Safe X3 Dveloppement 45

Copyright Sage 2011 Page 85


SAFE X3 DEVELOPPEMENT

RAZDUP

Action lance en tout dbut de duplication 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
il faut prciser le nom de lcran.

12.2.4. Gestion simple en modification

Modle objet

gestion simple : en modification

V
I LIENS aprs la lecture de lenregistrement
S
U
AVANT_MOD ds le dbut de la saisie (120)

VERIF_MOD avant la transaction de mise jour

AVANT_MODFIC aprs la lecture enreg. Avec verrouillage

INIMOD aprs le chargement de la classe [F]

MODIF aprs la r-criture de lenregistrement

APRES_MOD aprs la transaction de mise jour

AB_MODIF si abandon de la transaction

Copyright Sage 2009-2010 Safe X3 Dveloppement 46

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

Attention ! Il est ncessaire de prciser le nom de lcran

Copyright Sage 2011 Page 86


SAFE X3 DEVELOPPEMENT

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
#-----------------------------------------#

# --> devis non modifiable si transform totalement en cde


If [F:SQH]QUOSTA = 3
GERR=1 : GMESSAGE = mess(36,192,1) : OK=0 : Return
Endif
Return
###########################################################################

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

Copyright Sage 2011 Page 87


SAFE X3 DEVELOPPEMENT

indiquer le type de message : GERR


Positionnement du curseur (nom de champ) : zonsui

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

viter les ouvertures de tables hors sous-programme

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

viter les ouvertures de tables hors sous-programme

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

# Alimentation du nbre de lignes


[F:SQH]LINNBR = [M:SQH2]NBLIG
###########################################################################

Copyright Sage 2011 Page 88


SAFE X3 DEVELOPPEMENT

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

# Maintenant, on fait toujours un gosub RELIT


Gosub RELIT From GOBJSUB
[M:SQH0]SQHNUM = [F:SQH]SQHNUM
###########################################################################

12.2.4.8. AB_MODIF
Action lance en abandon de la transaction aprs le Rollback.

Sert :
dverrouiller un symbole
raffecter des variables globales

Copyright Sage 2011 Page 89


SAFE X3 DEVELOPPEMENT

12.2.5. Gestion simple en suppression

Modle objet

gestion simple : en suppression


V
I
S
U

VERF_ANU avant la transaction de suppression

Trbegin
ANNULE avant la suppression de lenregistrement
commit

AP_ANNULE aprs la transaction de suppression

Copyright Sage 2009-2010 Safe X3 Dveloppement 47

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
###########################################################################

Copyright Sage 2011 Page 90


SAFE X3 DEVELOPPEMENT

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

viter les ouvertures de tables hors sous-programme

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

#-- Maj des statistiques


Call VALSTA("SQH",-1) From SUBPS2
If GOK < 1 : Return : 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

Copyright Sage 2011 Page 91


SAFE X3 DEVELOPPEMENT

12.3. GESTION TABLE DENTETE PLUS TABLE DE DETAIL

12.3.1. Principe

Gestion table entte + table dtail

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.

Par exemple pour la gestion des devis :


Objet SQH, table entte SQUOTE table dtail SQUOTED.

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.

12.3.3. Gestion dtail en cration

Modle objet

gestion dtails : en cration

Transaction sur table principale de lobjet

Trbegin
INICRE
CREATION gosub CREATION From TABLEAUX
Commit

INICRE_LIG aprs lcriture de lenregistrement entte


aprs le chargement de la classe [F] dtail
avant lcriture de lenregistrement dtail
sert complter la classe [F] dtail
VALLIG appele aprs lcriture
sert traiter dautres tables lies au dtail
TRTLIG = C
SIGN = +1
GERR
GMESSAGE
GOK

Copyright Sage 2009-2010 Safe X3 Dveloppement 48

Copyright Sage 2011 Page 92


SAFE X3 DEVELOPPEMENT

Lexcution des actions se fait dans lordre suivant :

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 )

Les lignes non modifies ne sont pas traites.

12.3.4. Gestion dtail en modification

Modle objet

gestion dtails : en modification

V
I
S LIENS gosub LIENS From TABLEAUX
U

LIENS_LIG aprs le chargement de la classe [M] dtail


avant laffichage
sert : complter la classe [M] dtail

Copyright Sage 2009-2010 Safe X3 Dveloppement 49

Copyright Sage 2011 Page 93


SAFE X3 DEVELOPPEMENT

Lexcution des actions se fait dans lordre suivant :

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)

# --- Lecture article pour charger le flag mise jour stock


If [F:ITM]ITMREF <> [F:SQD]ITMREF
Read [F:ITM]ITM0 = [F:SQD]ITMREF
If fstat Raz [F:ITM] : Call RSTA ("ITM",[F:SQD]ITMREF) From GLOCK Endif
Endif
[M:SQH2]STOMGTCOD(NOL) = [F:ITM]STOMGTCOD
###########################################################################

Modle objet

gestion dtails : en modification


Trbegin
AVANT_MODFIC
INIMOD
MODIF gosub MODIF From TABLEAUX
Commit

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

VALLIG appele aprs la r-criture


sert : traiter une autre table lie au dtail
Copyright Sage 2009-2010 Safe X3 Dveloppement 50

Copyright Sage 2011 Page 94


SAFE X3 DEVELOPPEMENT

Lexcution des actions se fait dans lordre suivant :

MODIF
DEFLIG excut 1 seule fois
INICRE_LIG `` pour chaque cration ligne dtail
VALLIG

INIMOD_LIG `` pour chaque modification ligne dtail


VALLIG avant la rcriture
VALLIG aprs la rcriture

VALLIG `` pour chaque suppression ligne dtail

Modle objet
gestion dtails : en suppression

Trbegin
ANNULE gosub ANNULE From TABLEAUX
Commit

VALLIG appele aprs la suppression du dtail


sert : traiter une autre table lie au dtail

Copyright Sage 2009-2010 Safe X3 Dveloppement 51

Lexcution des actions se fait dans lordre suivant :

ANNULE
DEFLIG excut 1 seule fois
VALLIG `` pour chaque ligne dtail

Copyright Sage 2011 Page 95


SAFE X3 DEVELOPPEMENT

12.3.5. Dfinition des paramtres

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

Exemple des devis :

###########################################################################
$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)
#----------------------------------#

12.3.5.2. Champs ncessaires dclarer dans lcran


gestion dtails : champs ncessaires dclarer dans lcran
Exemple cran SOH4

NBLIG (nom fixe) variable de bas de tableau

UPDFLG (nom fixe) flag identifiant une ligne modifie, champ invisible

CREFLG (nom fixe) flag identifiant une ligne cre, champ invisible

SQDLIN nom du champ de la table dtail contenant le no de ligne, 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

Copyright Sage 2011 Page 96


SAFE X3 DEVELOPPEMENT

12.3.5.3. Variables utilisables


Variable [V]GOK

positionner dans les actions appeles durant une transaction.

[V]GOK = -1
Verrouillage dinformation par un autre poste.
Abandon de la transaction puis nouvelle tentative

[V]GOK = 0 (Abandon de la transaction)

[V]GOK = 1 (tout est OK)

Verrouillage dinformations :

Abandon de la transaction par linstruction Rollback


Nouvelle tentative (jusqu concurrence dun nombre de tentatives dfini par la variable GROLLBACK)

Variable [L]OK

positionner dans certaines actions appeles hors dune transaction


(ex : VERIF_CRE).

[L]OK = 1 (tout est OK)

[L]OK = 0 (raction diffrente en fonction des actions)

Ex : OK = 0 dans VERIF_CRE : Abandon de la cration


Ex : OK = 0 dans AV_LISTE & AV_IMPRIME : pas de dclenchement de limpression.

Copyright Sage 2011 Page 97


SAFE X3 DEVELOPPEMENT

12.4. EXERCICE : GESTION DES COMMANDES (GESTION ENTETE - DETAIL)

12.4.1. Objectif

Dvelopper une gestion des commandes en ajoutant du spcifique au standard. Un traitement


standard SUBYOX a t cr pour la gestion entte dtail.
Cette gestion sappuiera sur votre gestion article YIX et gestion client YCX.

12.4.2. Marche suivre


Modification des tables YORDHEAX et YORDDETX.
Cration des crans YOX0, YOX1, YOX2.
Cration de lobjet YOX.

Pour ce faire, utiliser les descriptions ci-dessous.

Table des enttes de commande

Code table : YORDHEAX


Abrviation : YHX
Module : Tronc commun

Zone Type de la zone Dim. Particul. Intitul


YORDNUM Alphanumrique 15 1 oui No commande
YFCY Alphanumrique 3 1 Site
YBPCNUM Alphanumrique 10 1 Client
YORDDAT Date 1 Date
YBPALIG Alphanumrique 35 3 Ligne adresse
YPOSCOD Alphanumrique 10 1 Code postal
YCTY Alphanumrique 30 1 Ville
YORDTOTNOT Dcimal 13.2 1 En commande HT
YORDTOTATI Dcimal 13.2 1 En commande
YHXSTA Menu local 1 1 Solde
YDLVDAT Date 1 Date livraison demande
YSHIDAT Date 1 Date expdition
YMDL Alphanumrique 3 1 Mode livraison
YBPTNUM Alphanumrique 10 1 Transporteur
EXPNUM Entier long 8 1 Numro export
CREUSR Alphanumrique 5 1 Oprateur cration
CREDAT Date 1 Date cration
UPDUSR Alphanumrique 5 1 Oprateur modif
UPDDAT Date 1 Date modif

Index Descripteur de lindex Homonymes


YHX0 YORDNUM Non

Copyright Sage 2011 Page 98


SAFE X3 DEVELOPPEMENT

YORDNUM :
Type de donne VCR.

Type de donne VCR :


Type de donne utilis pour les compteurs de document.
Voir ces caractristiques :
Longueur banalise de 17 caractres.
Option daffichage M.
Conversion automatique des lettres en majuscules.

Table des dtails de commande

Code table : YORDDETX


Abrviation : YDX
Module : Tronc commun

Zone Type de la zone Dim. Particul. Intitul


YORDNUM Alphanumrique 15 1 oui No commande
YORDLIN Entier long 8 1 No ligne
YITMREF Alphanumrique 20 1 Article
YUOM Alphanumrique 3 1 Unit
YQTY Dcimal 9.2 1 Quantit
YVATRAT Dcimal 3.2 1 Taux Taxe
YORDNOT Dcimal 13.2 1 Prix unitaire HT
YORDATI Dcimal 13.2 1 Prix unitaire TTC
YDXSTA Menu local 1 1 Solde
EXPNUM Entier long 8 1 Numro export
CREUSR Alphanumrique 5 1 Oprateur cration
CREDAT Date 1 Date cration
UPDUSR Alphanumrique 5 1 Oprateur modif.
UPDDAT Date 1 Date modif

Index Descripteur de lindex Homonymes


YDX0 YORDNUM+YORDLIN Non

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.

Copyright Sage 2011 Page 99


SAFE X3 DEVELOPPEMENT

Ecrans des Commandes


Ecran dentte identification

Code cran : YOX0


Abrviation : YOX0
Traitements associs : SUBYOX standard
SPEYOX spcifique

Champ Saisie Oblig. Particularits Dvelop.


YORDNUM S Type de donne li au compteur VCR
Alimenter le numro de commande la cration Oui
Paramtrer le type VCR pour que lutilisateur puisse
slectionner les commandes sur clique droit du champ
Non saisissable en Cration Oui
Contrler que la valeur saisie corresponde bien une Oui
commande existante. Vous remarquerez que, de ce fait, on
interdit la duplication.
YHXSTA S Case cocher
(Saisie : S Saisie / A Affich / I Invisible)

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.

Copyright Sage 2011 Page 100


SAFE X3 DEVELOPPEMENT

Affecter un numro de commande


Crer un compteur YOX par la fonction Paramtrage>Paramtres gnraux>Compteurs avec les
caractristiques suivantes :

Niveau de dfinition : Site


Niveau raz : Mensuel
Type squence : Normal
Construction du compteur :
Constante CDE 3 caractres
Mois 2 caractres
Anne 2 caractres
Site 5 caractres
Squence 5 caractres

Sous-programme utiliser NUMERO From SUBANM.


Les paramtres sont :
Value char CODE_COMPTEUR
Value char SITE
Value date DATE
Value char COMPLEMENT
Variable char VALEUR_COMPTEUR
Variable integer STATUT

Les 2 variables retournes au sous-programme sont :


Variable char VALEUR_COMPTEUR (valeur pour no de la commande)
Variable integer STATUT (Si aucune erreur, STATUT=0)

Changer les caractristiques du numro de commande

En cration, ce champ est non saisissable. Affecter un numro de commande et lafficher.


Dans les autres cas, on interdit une valeur ne correspondant pas une commande dj
existante. On interdit ainsi la duplication.

Copyright Sage 2011 Page 101


SAFE X3 DEVELOPPEMENT

Onglet 1 gnral

Code cran : YOX1


Abrviation : YOX1
Traitements associs : SUBYOX standard
SPEYOX spcifique

Champ Saisie Oblig. Particularits Dvelop.


YFCY S Oui Contrle / Slection / Tunnel sur les sites standards
Affichage du libell court
Saisissable uniquement en cration Oui
YBPCNUM S Oui Contrle / Slection / Tunnel sur vos clients
Affichage du libell long
Filtre pour slection des clients non prospect
YORDDAT S Oui Initialisation par la date du jour en cration Oui
YBPALIG S Aliment par le client Oui
YPOSCOD S Aliment par le client Oui
YCTY S Aliment par le client Oui
(Saisie : S Saisie / A Affich / I Invisible)

Copyright Sage 2011 Page 102


SAFE X3 DEVELOPPEMENT

Onglet 2 lignes

Code cran : YOX2


Abrviation : YOX2
Traitements associs : SUBYOX standard
SPEYOX spcifique

Champ Saisie Oblig. Particularits Dvelop.


YITMREF S Oui Contrle / Slection / Tunnel sur vos articles
YUOM S Oui Contrle / Slection / Tunnel sur les units standard
Aliment par larticle Oui
YQTY S Oui Positif
YORDNOT S Oui Aliment par larticle Oui
YVATRAT S Aliment par larticle Oui
Positif
YORDATI A Calculer partir du prix HT et la TVA Oui
YORDTOTNOT A Cumul des lignes ( HT * QTE ) attention cette information ne Oui
doit pas faire partie du tableau
YORDTOTATI A Cumul des lignes ( TTC * QTE ) attention cette information Oui
ne doit pas faire partie du tableau
(Saisie : S Saisie / A Affich / I Invisible)

Objet des commandes

Code objet : YOX

Fentre des commandes

Code fentre : OYOX

Copyright Sage 2011 Page 103


SAFE X3 DEVELOPPEMENT

12.4.3. Spcifique dvelopper

Contrler en fin de saisie quau moins une ligne ait t renseigne.


Ajouter le champ raison sociale du client (paramtrage)

12.4.4. Informations techniques


La date du jour : variable systme date$
Numro de ligne courante variable systme nolign-1
Statut retour aprs opration sur table variable systme fstat

Dclaration dune variable caractre : Local char nom_var


Dclaration dune variable numrique : Local integer nom_var

Ouverture dune table : Local File table [abrev]

Lecture : Read [abrev] index = champ


Lecture locke : Readlock [abrev] index = champ
Lecture sans rcupration enregistrement : Look [abrev] index = champ
Mise jour dun enregistrement : Rewrite [abrev]

Augmentation de la valeur dun champ : champ += nombre


Diminution de la valeur dun champ : champ -= nombre

Alimentation dun champ cran partir de celui dune table :

[M:abrev]champ_ecr = [F: abrev]champ_tab

[M: abrev]champ_ecr(0) = [F: abrev]champ_tab(0) pour un champ dimensionn


[M: abrev]champ_ecr(1) = [F: abrev]champ_tab(1)

12.4.5. A vrifier

Cration, duplication, modification, suppression de commandes


Site non saisissable en modification
Tunnel vers la gestion client et la gestion article.
Initialisation de champs par le client et larticle
En gestion Client : suppression non autorise dun client qui a pass une commande
En gestion Article : suppression non autorise dun article command
Initialisation de la date par la date du jour
Client prospect interdit
Article non actif interdit
Format de la date de commande
Suppression de ligne dtail commande
En cration de commande, affectation automatique dun numro de commande
Calcul du TTC de chaque ligne
Calcul des totaux HT et TTC

Copyright Sage 2011 Page 104


SAFE X3 DEVELOPPEMENT

Mettre jour la table client YCUSTOMX.


Lors de la cration, modification ou suppression dune commande, mettre jour la fiche du client par :
le montant HT et TTC ainsi que la date de dernire commande.

A vrifier

Mise jour de la table client.

Notes

Copyright Sage 2011 Page 105


SAFE X3 DEVELOPPEMENT

Copyright Sage 2011 Page 106


SAFE X3 DEVELOPPEMENT

12.5. GESTION DES BOUTONS/MENUS

Les Boutons / Menus

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.

12.5.1. Action sur modle objet

Modle objet

Gestion des boutons

SETBOUT Dsactivation des boutons


Utiliser le sous-pro VIREBOUT pour enlever
le code bouton(s) de la variable CHAINE

AVANTBOUT Avant lexcution du bouton


le code bouton est disponible dans la variable BOUT

Action
Action Dico
Dico dclar
dclar dans
dans la
la fentre
fentre

EXEBOUT Aprs l excution du bouton


le code bouton est disponible dans la variable BOUT

Copyright Sage 2009-2010 Safe X3 Dveloppement 53

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

Copyright Sage 2011 Page 107


SAFE X3 DEVELOPPEMENT

GBIDC2= "A": Gosub AUTORIS_OPT From CONTX3


If !GBIDI2 : GERR = 1 : GMESSAGE = mess(2,104,1) : Return : Endif
.
Endcase

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

Gestion des menus

SETBOUT Activation des lignes de menu


CHMEN += code(s) ligne de menu
Gosub SET_BOUT_SPE From GSAISIE

AVANTBOUT Avant lexcution du menu


le code menu est disponible dans la variable BOUT

Action
Action dico
dico dclare
dclare dans
dans la
la fentre
fentre

STATUT Aprs l excution du menu


le code menu est disponible dans la variable BOUT

Copyright Sage 2009-2010 Safe X3 Dveloppement 54

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

Copyright Sage 2011 Page 108


SAFE X3 DEVELOPPEMENT

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
###########################################################################

12.5.2. Aprs bouton / menus / liste gauche


FIN_ACTION
Action lance aprs activation (click) dun bouton, dun menu ou dune liste gauche

Est surtout utilise pour lactivation du bouton Enregistrer

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. LES BROWSERS

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.

Cette liste peut tre de type simple hirarchis ou picking.

Copyright Sage 2011 Page 109


SAFE X3 DEVELOPPEMENT

Normalisation des browsers :


2 premiers caractres de lobjet
1 numro de 1 9

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

12.6.2. Types de browser

Liste gauche principale

liste simple ou hirarchise ( picking possible )


prsente si code objet dans longlet browser (fentre)
par usage, affiche par dfaut

Liste des derniers lus

liste simple
prsente si case coche
par usage, affiche

Listes gauches secondaires

liste ou picking, simple ou hirarchise


ncessite le paramtrage dun objet de type browser
doit tre plac dans longlet browser (fentre)

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

Copyright Sage 2011 Page 110


SAFE X3 DEVELOPPEMENT

Copyright Sage 2011 Page 111


SAFE X3 DEVELOPPEMENT

12.6.3. Actions sur modles

Modle objet

Les Browsers

OUVRE_BOITE Stocker le nom des browser

FILTRE Filtrer les enregistrements


liste principale et derniers lus

FILGAUCHE Filtrer les enregistrements


liste principale et secondaires

CLE_GAUCHE Pour modifier la cl de tri


liste simple et picking simple

[S]currbox : variable systme indiquant le browser courant

Copyright Sage 2009-2010 Safe X3 Dveloppement 55

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 ;

Copyright Sage 2011 Page 112


SAFE X3 DEVELOPPEMENT

Copyright Sage 2011 Page 113


SAFE X3 DEVELOPPEMENT

Modle objet

Les Browsers slection sur picking

DEB_PICK dbut de slection dun groupe

PICKE aprs la slection de chaque lment

DEPICK aprs la d-slection de chaque lment

FIN_PICK fin de slection dun groupe

Copyright Sage 2009-2010 Safe X3 Dveloppement 56

Pour toutes les actions :


OK = 0 pour interdire la slection ou dslection.

PICKE :
Permet dcrire lalimentation de la partie droite, pour un lment slectionn.

DEPICK :
Permet dcrire lalimentation de la partie droite, pour un lment dslectionn.

Copyright Sage 2011 Page 114


SAFE X3 DEVELOPPEMENT

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

Copyright Sage 2009-2010 Safe X3 Dveloppement 58

Copyright Sage 2011 Page 115


SAFE X3 DEVELOPPEMENT

Actions

Action
Action
FONCTION
FONCTION
Menu
MenuX3
X3 Fentre
Fentre

FENETRE crans Objets browser


FENETRE Traitement standard
bouton
bouton/ /menu
menu ++ Boutons
Traitement / /Menus
Boutonsvertical
Menus
Traitement spcifique

ECRAN
ECRAN
champ
champ

TYPE
TYPE
DONNEE
DONNEE

Copyright Sage 2009-2010 Safe X3 Dveloppement 59

Exemple dune action appele


Dune fonction : GOBJET pour tous les objets X3
Dun menu : ACLOB sur la fentre OSOH, permet lappel de la fentre denregistrement des clob.
Dune action sur champ : CONTOBJW, permet dinhiber le contrle dexistence.
Dun type de donne : ATEXTRA, permet de lancer la traduction en ligne pour les types de donnes
AXX.

13.2. INFORMATIONS GENERALES

Toutes les actions sont stockes dans le dictionnaire des actions :


Dveloppement>Dictionnaire traitements>Actions>Actions

Modle :
Il sagit du traitement modle superviseur lancer, par exemple le modle objet.

Type :

Nouveau champ V6, dans le but d'une meilleure recherche et r-utilisabilit

Permet de classer les sous-programmes et actions afin d'en faciliter la recherche, et ce, dans le but
dune meilleure r-utilisabilit.

Les actions et sous-programmes sont classer en fonction de leur objectif :

Contrle
Saisie
Slection
Mise jour

Copyright Sage 2011 Page 116


SAFE X3 DEVELOPPEMENT

Xsl (traitement li au composant cran)


Retour d'un statut
Recherche d'information
Calcul
Divers

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.

13.3. RENSEIGNEMENT DES PARAMETRES

Permet de dfinir tous les paramtres passer pour laction.

Champ Zone courante :


er
Si flag positionn, le 1 paramtre rcupre automatiquement la valeur du champ courant.
Intressant pour une action sur champ.

Champ Action avant zone :


Appele dun bouton champ, elle permet de prendre la main avant et aprs laction.

Paramtre par valeur : sauvegarde puis restauration du paramtre pour garder sa valeur. Largument
est soit une constante, soit une variable.

Paramtre par adresse : modification du paramtre accepte au retour du sous-programme.


Largument est obligatoirement une variable.

Action avant zone :


Appele dun bouton champ
Permet de prendre la main avant et aprs laction au niveau du programme appelant (trait. associ
lcran) dans ltiquette $ACTION.
La variable ACTION a les valeurs
ABi_zone action avant Bi_zone
BBi_zone action aprs Bi_zone
i correspond au numro du bouton (de 1 20), zone au nom du champ
Permet de positionner des variables globales (ex : GCONSULT)
Attention au contexte dappel !
modle appelant si action bouton /menu
traitement gnr cran si action champ

13.3.1. Variable de laction


Sur un modle : Variable [L]PARAM()(1..)

Contient la valeur des paramtres de laction dictionnaire.

Si zone courante est non PARAM(1) = valeur 1er param.

Copyright Sage 2011 Page 117


SAFE X3 DEVELOPPEMENT

PARAM(2) = valeur 2me param.


...

Si zone courante est oui VALEUR = valeur 1er param.


PARAM(1) = valeur 2me param.

V5 : Les paramtres sont des variables alphanumriques


Utiliser la fonction val qui transforme une chane de caractres en nombre
Ex : VARNUM = val(PARAM(1))
V6 : Les paramtres peuvent tre saisies dans le dictionnaire Dveloppement>Dictionnaire
traitements>Actions>Paramtres Actions et de tout type.

Copyright Sage 2011 Page 118


SAFE X3 DEVELOPPEMENT

13.3.2. Liste des actions standards principales pour le modle objet

Appel dune gestion objet :

GOBJET avec zone courante


GOBJETA avec zone courante
possibilit dajout de dveloppement lappel de la fonction objet
GOBJETC sans zone courante
GOBJETN champ cl numrique

Contrle particulier sur champ cl li objet :

CONTOBJW vite le contrle dexistence, valeur obligatoire


CONTOBJN vite le contrle dexistence, valeur facultative

Slection enregistrement dune table gre par objet :

SELOBJW slection avec possibilit dappliquer les filtres de slection.


SELOBJAW slection avance avec possibilit dappliquer les filtres de slection.

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.

Copyright Sage 2011 Page 119


SAFE X3 DEVELOPPEMENT

14. MODELE SAISIE FENETRE

14.1. DEFINITION

Ce modle permet :
la saisie dinformations complmentaires lies une fentre de gestion objet
la saisie dune fentre de critres

A linverse du modle objet, aucun automatisme li laffichage ou la sauvegarde des donnes


nest excut, ceux-ci devront tre renseigns dans les traitements si besoin est.

Ce modle se lance :
dune fonction, bouton/menu fentre, bouton champ.

Exemple dans la fentre des livraisons Ventes>Livraisons>Livraisons menus fentre


Options>Informations douanires .

14.2. PARAMETRAGE DE LACTION

Action de lancement du modle Saisie fentre

Action de type saisie fentre.


Fentre principale : la fentre lance lors de lappel de laction.
Traitement standard/spcifique.
Action suite : permet de lancer une action la suite de celle-ci.

Fentre lance Saisie fentre


Type fentre : Divers
Affichage :
Boite de dialogue (fentre indpendante pas forcment pleine page)
Plein cran
Boite message (aucun bouton, menu, browser)

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.

La fentre se lance dune fonction, bouton/menu fentre, bouton champ


Le traitement lanc est GSAISIE

Copyright Sage 2011 Page 120


SAFE X3 DEVELOPPEMENT

14.3. ACTIONS SUR MODELE

Saisie Fentre

OUVRE dbut traitement


TITRE avant louverture de la fentre

DEBUT avant la saisie de la fentre

APRES_MODIF aprs la modification de chaque champ

FIN aprs la saisie de la fentre


FINSAI fin de traitement

ABANDON en cas dabandon

Copyright Sage 2009-2010 Safe X3 Dveloppement 61

14.3.1. OUVRE

Action lance en tout dbut de traitement avant louverture du masque

Sert :

dclarer, alimenter des variables locales, globales


ouvrir des tables
afficher un message derreur : GERR = 1
GMESSAGE = mess
interrompre le traitement : FIN = 1

sauvegarder la variable nolign : SVNOLIGN=Nolign

14.3.2. TITRE

Action lance avant louverture de la fentre

Sert :

Sert modifier le titre de la fentre : TIT


Titre de la fentre
Par dfaut, il est aliment par la dsignation de la fentre stocke dans le dico des fentres.

Copyright Sage 2011 Page 121


SAFE X3 DEVELOPPEMENT

14.3.3. DEBUT

Action lance avant la saisie de la fentre

Sert :

pr-charger lcran, avec ncessit de faire lAffzo


afficher un message derreur : GERR = 1
GMESSAGE = mess
interrompre le traitement : FIN = 1

14.3.4. APRES_MODIF

Action lance aprs la saisie de tout champ

Sert :

activation boutons ENREGISTRER et ABANDON : REP= M

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

Copyright Sage 2009-2010 Safe X3 Dveloppement 62

Copyright Sage 2011 Page 122


SAFE X3 DEVELOPPEMENT

se dclenche pour tout champ modifi aprs laction sur champ AM_zone, avant la
mise jour de la classe [M].

se dclenche dans $ACTION du traitement SUBxxx ou SPExxx par GOSUB

variables systme utilisables :


nom du champ courant : zoncou
valeur du champ courant : zc
indice du champ courant : indice

variables locales utilisables :


nom du champ courant : COUZON
valeur du champ courant : CZ
indice du champ courant : COUIND

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

Action lance aprs la saisie de la fentre

Sert :

Restaurer la variable nolign : Nolign= SVNOLIGN

14.3.6. FINSAI

Action lance en fin de traitement

Sert :

Rafrachir la fentre dappel : NBAFF= 1

Copyright Sage 2011 Page 123


SAFE X3 DEVELOPPEMENT

14.4. GESTION DES BOUTONS/MENUS

Saisie Fentre

Boutons Pr-dfinis

SETBOUT Dsactivation des boutons


( Enregistrer et Abandon sont griss par dfaut
pour les activer REP= M en APRES_MODIF)
Call VIREBOUT (CHBOU, x ) From GOBJET
Gosub SET_BOUT_STD From GSAISIE

AVANT_xxx Avant lexcution du bouton

Action
Action Dictionnaire
Dictionnaire
XXX Aprs l excution du bouton
pour sortir de la fentre FIN=1
(sortie automatique pour bouton OK et FIN

Copyright Sage 2009-2010 Safe X3 Dveloppement 63

Bouton actif par dfaut


(*) Pour chaque bouton du superviseur, une action AVANT_xxx et une action xxx

Pour chaque bouton du superviseur, valeur de xxx :


Fin ACT = END (sortie fentre)
Enregistrer ENR code bouton = E
Crer CRE C
Supprimer SUP S
Abandon ABA A
Ok OK O (sortie fentre)
Nouveau NEW N
Premier FIR 0
Dernier LAS 9
Prcdent PRE <
Suivant SUI >
Slection SEL X
Changement de cl CHG H
Impression EDI I
Liste LIS L
Pices jointes JOI J
Commentaires COM M
Proprits PRO P

Copyright Sage 2011 Page 124


SAFE X3 DEVELOPPEMENT

Saisie Fentre

Boutons Spcifiques

SETBOUT Dsactivation des boutons


Call VIREBOUT (CHMEN, x ) From GOBJET
Gosub SET_BOUT_SPE From GSAISIE

AVANT_BOUTON Avant lexcution du bouton


la variable BOUT contient le code bouton

Action
Action Dictionnaire
Dictionnaire

BOUTON Aprs l excution du bouton


la variable BOUT contient le code bouton
pour sortir de la fentre FIN=1
Copyright Sage 2009-2010 Safe X3 Dveloppement 64

Activation Bouton
Bouton actif par dfaut

Excution bouton
Par dfaut, ne sort pas de la fentre.
Pour sortir, faire FIN=1

Particularit : Action SPE ou STD


Autorises sil ny a pas douverture de fentre faire.
Il ny a pas de traitement li laction dictionnaire
Le traitement li au bouton est crire dans laction BOUTON

Copyright Sage 2011 Page 125


SAFE X3 DEVELOPPEMENT

Saisie Fentre

Menus

SETBOUT Dsactivation des menus


Call VIREBOUT (CHMEN, x ) From GOBJET
Gosub SET_BOUT_SPE From GSAISIE

AVANT_MEN Avant lexcution du menu


la variable BOUT contient le code menu

Action
Action Dictionnaire
Dictionnaire

MEN Aprs l excution du menu


la variable BOUT contient le code bouton
pour sortir de la fentre FIN=1
Copyright Sage 2009-2010 Safe X3 Dveloppement 65

Activation Menu
Menu actif par dfaut

Excution Menu
Par dfaut, ne sort pas de la fentre.
Pour sortir, faire FIN=1

Particularit : Action SPE ou STD


Autorises sil ny a pas de ouverture de fentre faire.
Il ny a pas de traitement li laction dictionnaire
Le traitement li au bouton est crire dans laction MEN

Copyright Sage 2011 Page 126


SAFE X3 DEVELOPPEMENT

14.5. GESTION DES BROWSERS

14.5.1. Prsentation

Liste gauche principale


Pas de liste principale

Liste des derniers lus


Pas de liste des derniers lus

Listes gauches secondaires


liste ou picking, simple ou hirarchise
ncessite le paramtrage dun objet de type browser
doit tre plac dans longlet browser (fentre)

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.5.2. Actions sur modle


TIR Premire action

FILGAUCHE Filtrer les enregistrements


FILGAUCHE(0..1) += pour le standard
FILGAUCHE(2) += pour le spcifique pour liste secondaire

CLE_GAUCHE Pour modifier la cl de tri


Liste simple et picking simple
SNSLIS 1=ascendant, 2=descendant
LENLIS nombre dlments dans la cl
CLELISTE chane de 250 caractres. Liste champs composant la cl spars
par le caractre ;

AP_FILGAUCHE Durant l'affichage de la liste

Copyright Sage 2011 Page 127


SAFE X3 DEVELOPPEMENT

14.6. EXERCICE : MENU DANS GESTION COMMANDE

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.

14.6.2. Marche suivre


Crer un cran XLIV
Crer une fentre XLIV
Crer une action XLIV
Ecrire un traitement XLIV
Appel de cette fentre de saisie depuis un menu de la gestion des commandes.

Pour ce faire, utiliser les descriptions ci-dessous.

Lcran XLIV

Code cran : XLIV


Abrviation : XLIV
Traitements associs: XLIV spcifique

Champ Saisie Oblig. Particularits Dvelop.


YDLVDAT S Non Date de livraison demande
YSHIDAT S Non Date dexpdition

Elle doit tre infrieure ou gale la date de livraison Oui


demande.
YMDL S Non Mode de livraison

Contrle / Slection / Tunnel


Affichage du libell long
YBPTNUM S Non Transporteur
Contrle / Slection / Tunnel
Affichage du libell long

Copyright Sage 2011 Page 128


SAFE X3 DEVELOPPEMENT

La fentre XLIV

Code fentre : XLIV


Boutons bas dcran : Ok, Abandon, Fin

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.

De ce fait, la gestion objet prendra automatiquement en charge :

lalimentation des informations dans la classe [M : YOX0] laffichage de la fentre OYOX,


la mise jour de lenregistrement YORDHEAX partir de la classe [M :YOX0]

Ce quil nous reste dvelopper :

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]

Saisie dans cette fentre XLIV :

Si la commande nest pas solde : les champs sont saisissables


Si la commande est solde : les champs sont griss

Gestion des boutons :

OK : on ferme la fentre et on rcupre les donnes.


FIN : on ferme la fentre sans rcupration des donnes
ABANDON : on reste sur la fentre et on rinitialise les donnes

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

Copyright Sage 2011 Page 129


SAFE X3 DEVELOPPEMENT

Notes

Copyright Sage 2011 Page 130


SAFE X3 DEVELOPPEMENT

15. MODELE TRAITEMENT STANDARD

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 na rien voir avec les traitements standards X3

Ce modle se lance :
dune fonction, bouton/menu fentre, bouton champ.

Exemple : Ventes>Livraisons>Livraisons automatiques

Traitement standard

Traitement standard
Fentre crans Traitement vertical
critres Traitement spcifique

Traitement standard
Action Fentre crans Traitement vertical
Principale Traitement spcifique

Fonction Traitement superviseur GTRAITE


Traitement standard
Traitement spcifique

Tche Soumission en batch

BATCH
Lancement automatique
Abonnement avec priodicit

Copyright Sage 2009-2010 Safe X3 Dveloppement 68

Copyright Sage 2011 Page 131


SAFE X3 DEVELOPPEMENT

15.2. PARAMETRES

Action de lancement du modle Saisie fentre

action de modle Traitement standard.


traitement standard / traitement spcifique
fentre principale, venant en ajout aprs la fentre de critre (peu renseigne)
saisie initiale
= sans saisie initiale
= confirmation oui / non
= boite de dialogue + fentre de critres
= saisie de fentre + fentre de critres (modle saisie fentre)
= slection de table
= slection de liste

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

[L]BOITE permet de dissocier les 2 fentres.

Copyright Sage 2011 Page 132


SAFE X3 DEVELOPPEMENT

15.3. ACTIONS SUR MODELES : MODE INTERACTIF

Traitement standard : en interactif

INIT dbut traitement


AVANT_PAR avant louverture de la fentre critre
INIT_DIA seulement pour une boite de dialogue
avant laffichage de cette fentre
Retour saisie

CONTROLE aprs la saisie de cette fentre

EXEC une fois les contrles OK


TERMINE aprs le traitement

SORTIE fin de traitement


Copyright Sage 2009-2010 Safe X3 Dveloppement 69

Lexcution dune action de type traitement standard se fait en plusieurs temps :

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).

Chaque tape est facultative.

15.3.1. INIT

Action lance en tout dbut de traitement, ne sexcute quune seule fois

Sert :

dclarer, alimenter des variables locales, globales


ouvrir des tables
ouvrir lcran si saisie initiale par saisie fentre
afficher un message derreur : GERR = 1
GMESSAGE = mess
interrompre le traitement : FIN = 1

affecter un titre la boite de dialogue ou


une question la boite de confirmation : TIT = titre

Copyright Sage 2011 Page 133


SAFE X3 DEVELOPPEMENT

Remplacer la fentre prcise dans laction : BCRIT = fentre critres


BOITE = fentre principale

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.

Slection Table / Slection liste :


Pas dcran, pas de fentre crer
Alimentation de la fentre par traitement
Variable VALEUR est alimente en retour.

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 :

inhiber la fentre de saisie de critres : TYPPRG = 0

Copyright Sage 2011 Page 134


SAFE X3 DEVELOPPEMENT

15.3.3. INIT_DIA
Action lance seulement pour une boite de dialogue avant laffichage de cette fentre.

Sert :

affecter des champs de cette fentre

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)

Labrviation DIA nest plus obligatoire pour lcran.

15.3.4. Gestion des saisies fentre

Traitement standard

cas des saisies fentre

Traitement standard

INIT Local Mask nom_mask [abrev]

Call Saisie fentre Fentre de critres


Toutes les actions lies ce modle saisie fentre

Call Saisie fentre Fentre principale


Toutes les actions lies ce modle saisie fentre

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

Copyright Sage 2011 Page 135


SAFE X3 DEVELOPPEMENT

Local mask XXX [XX]


return

$ 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 :

effectuer les derniers contrles avant traitement


GSTATUT permet de connatre le bouton activ en saisie fentre
afficher un message derreur : GERR = 1
GMESSAGE = mess
interrompre le traitement : FIN = 1
retourner la saisie des paramtres : SAI = 1
Positionnement du curseur (nom de champ) : zonsui

afficher un message dattente : TMP = 1


message dattente : TIT = x

TIT : code texte du message dattente


V validation en cours ...
F vrification en cours ...
L lecture en cours ...
E criture en cours ...
A annulation en cours ...
R recherche en cours ...
C calcul en cours ...
opration en cours ...

texte spcifique afficher (dans une chane de 50 caractres)

Variable SAI :
SAI=1 retour en saisie, juste avant laction AVANT_PAR (en mode interactif)

15.3.6. EXEC

Action lance une fois les contrles OK

Sert :

lancer votre traitement


GSTATUT permet de connatre le bouton activ en saisie fentre
afficher un message derreur : GERR = 1
GMESSAGE = mess
interrompre le traitement : FIN = 1
ouvrir & fermer la trace

Copyright Sage 2011 Page 136


SAFE X3 DEVELOPPEMENT

affichage trace : TRA = 1 ou 9


retourner en saisie paramtres
aprs excution de ce traitement : SAI = 1

Variable TRA :
0 pas daffichage & conservation de la trace
1 affichage & conservation de la trace
9 affichage & suppression de la trace

Ouverture & fermeture trace :


Call OUVRE_TRACE( titre ) From LECFIC
Call FERME_TRACE From LECFIC

Ecriture trace en interactif et batch :


Call ECR_TRACE(MESSAGE,0) FROM GESECRAN : # information (couleur 1)
Call ECR_TRACE(MESSAGE,1) FROM GESECRAN : # Erreur (couleur 2)
Call ECR_TRACE(MESSAGE,-1) FROM GESECRAN : # Warning (couleur 3)

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

Action lance aprs laction EXEC


si pas de retour en saisie SAI<> 1
si pas de fin de traitement FIN <> 1

Sert :

mme possibilit que laction EXEC


Par contre, excution unique

15.3.8. SORTIE

Action lance en fin de modle

Sert :

charger des variables


indiquer au programme appelant dactiver le bouton enregistrer
par mkstat = 4 ou une variable globale

Activation du bouton Enregistrer :

Il sera ncessaire dcrire dans laction SETBOUT de lobjet appelant :


If mkstat = 4 & GREP = : REP = M : Endif

Copyright Sage 2011 Page 137


SAFE X3 DEVELOPPEMENT

15.4. ACTION SUR MODELES : MODE BATCH

15.4.1. Etape interactive : le lancement

Etape 1 :
- Saisie des paramtres
- Le superviseur les stocke dans la table ABATRQT

Le lancement ce fait via le menu Exploitation>Serveur batch>Soumission des requtes .

Renseignements des informations de lancement :


Le dossier sur lequel va tre excut le traitement
Lutilisateur, permet de vrifier les droits daccs aux requtes.
Un groupe ou une tache excuter, il sagit de la requte contenant la fonction ou le
traitement excuter. Cette tche est crer dans le menu Exploitation>Serveur
batch>Gestion des taches .

Date et heure de lancement.

Soumission dune requte :


Recherche de la tche associe
Contrle des droits de lutilisateur
Saisie des paramtres ncessaires au lancement du traitement
Cration de la requte avec stockage des paramtres, code tche, traitement excuter

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

Variable identifiant le contexte :


GBATCH = 1, si le traitement est lanc par le serveur batch.

Copyright Sage 2011 Page 138


SAFE X3 DEVELOPPEMENT

15.4.2. Les actions sur modles

Traitement standard : batch

Etape interactive : le lancement

OUVRE_BATCH aprs le bouton validation de cette fentre

INIT_DIA avant laffichage de la boite de la dialogue


pour saisie des paramtres

CONT_BATCH aprs la saisie de cette fentre

Copyright Sage 2009-2010 Safe X3 Dveloppement 71

Soumission dune requte - phase 1


2 actions propres aux batchs

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.

Copyright Sage 2011 Page 139


SAFE X3 DEVELOPPEMENT

15.4.3. Etape batch: lexcution

Etape 2 :
Le superviseur lit le paramtre depuis la table ABATRQT
Excution du traitement

Visualisation des taches et de leurs droulements dans le menu


Exploitation>Serveur batch>Gestion des requtes

Couleurs des taches :


> Gris : Taches excut.
> Rouge : Taches avorts ou excut avec erreurs.
> Vert : Taches en attente ou en cours dexcutions.
Si la requte na pas encore t excute il est possible de modifier ses paramtres
de lancement.
Aprs excution, la trace de la requte est visualisable par clic droit sur la requte
option trace. Il est aussi possible de la relancer.

Soumission dune requte :

Excution de la requte la date et heure prvue par le serveur batch


GSERVEUR = 1, si le traitement est lanc par le serveur batch.

Copyright Sage 2011 Page 140


SAFE X3 DEVELOPPEMENT

15.4.4. Excution en mode batch

Traitement standard : batch


Etape batch : lexcution

INIT dbut traitement


AVANT_PAR avant louverture de la fentre critre
INIT_DIA seulement pour une boite de dialogue
avant laffichage de cette fentre

CONTROLE aprs la saisie de cette fentre

EXEC une fois les contrles OK

TERMINE aprs le traitement

SORTIE fin de traitement


Copyright Sage 2009-2010 Safe X3 Dveloppement 72

Soumission dune requte - phase 2 :


Cest le modle GTRAITE qui est utilis.
La lecture de la requte alimente lcran de saisie des paramtres.
Louverture et la fermeture de la trace est prise en charge par le superviseur.

Attention ! Il ny pas de saisie de fentre principale.

Action CONTROLE :
Si erreur, affichage dans la trace.
Pas de retour possible en saisie.

Attention aux licences dexcution des taches batch !

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

Copyright Sage 2011 Page 141


SAFE X3 DEVELOPPEMENT

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

GESxxx pour un objet (gnre automatiquement)


CONSxxx pour une consultation
FUNxxxxxx pour tout autre 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)

Test des options dans lobjet :


AVANTBOUT
Case BOUT
When "a" : # Contrle des autorisations
GBIDC2= "A": Gosub AUTORIS_OPT From CONTX3
If !GBIDI2 : GERR = 1 : GMESSAGE = mess(2,104,1) : Return : Endif
.
Endcase

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.

Copyright Sage 2011 Page 142


SAFE X3 DEVELOPPEMENT

Interdite depuis cette fonction :


Fonction ayant, par exemple, des filtres positionns, et pouvant ainsi amener de faux rsultats dans la
fonction appele.
Interdite dans tous les cas :
Fonction interdite dans les deux cas cits au-dessus.

Copyright Sage 2011 Page 143


SAFE X3 DEVELOPPEMENT

17. MODELE AFFICHAGE DIVERS

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.

17.2. ACTION UNIQUE TRT_DIV

Action lance au dbut de traitement

Sert :

lancer votre traitement


afficher un message derreur : GERR = 1
GMESSAGE=mess

###############################################################################
$ACTION
Case ACTION
When TRT_DIV : Gosub TRT_DIV
Endcase

$TRT_DIV

Return
###############################################################################

Variable TRAIT :
Contient lidentifiant de laction dictionnaire.

Copyright Sage 2011 Page 144


SAFE X3 DEVELOPPEMENT

18. MODELE HORS MODELE

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.

Paramtres du 1er onglet :


Traitement & sous-programme
Traitement standard ou spcifique : pas dajout de spcifique sur le standard
Instruction Adonix (possibilit dutiliser seulement une instruction et non un sous-pro.)

18.2. PARAMETRE DU SOUS-PROGRAMME


Onglet Paramtre de laction

Cohrence des paramtres action et sous-programmes :


Ordre
Nombre
Nature (char, integer, decimal, date,)
Mode (par valeur value, par adresse variable)

Exemple avec laction LINNUM du traitement TABLEAUX :

Traitement TABLEAUX
Subprog LINNUM (ZONLIG)
Value char ZONLIG

End

Description dans le dictionnaire des actions


nom : Lig, type : char, passage par valeur

Copyright Sage 2011 Page 145


SAFE X3 DEVELOPPEMENT

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

Copyright Sage 2009-2010 Safe X3 Dveloppement 76

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.

18.3. DECLARATION DU SOUS-PROGRAMME

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 .

Renseignement du traitement contenant le sous-programme, puis le nom de celui-ci.


Ajout dun descriptif.

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

Copyright Sage 2011 Page 146


SAFE X3 DEVELOPPEMENT

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.

Copyright Sage 2011 Page 147


SAFE X3 DEVELOPPEMENT

18.4. EXERCICE : CALCUL DE LEN-COMMANDE CLIENT EN BATCH

18.4.1. Objectif

Re-calcul de len-commande client par un traitement qui analyse les commandes.


Ce traitement se lance aussi bien en temps-rel quen batch.

18.4.2. Marche suivre


Cration dun cran YEX
Cration dune fentre YEX
Cration dune action YEX
Cration dune fonction YEX
Cration du traitement YEX

Pour ce faire, utiliser les descriptions ci-dessous.

Ecran de slection

Code cran : YEX


Abrviation : YEX
Traitements associs: YEX

Champ Saisie Oblig. Particularits Dvelop.


YBPCNUMD S non Fentre de slection sur vos clients
Pas de contrle dexistence de la valeur, et champ vide
autoris (action CONTOBJN)
YBPCNUMF S non Fentre de slection sur vos clients
Pas de contrle dexistence de la valeur, et champ vide
autoris (action CONTOBJN)
Contrler que la borne fin soit bien suprieure ou gale
la borne dbut. Faire en sorte que ce contrle soit
rutilisable.
Aurait-on la possibilit de faire ce contrle par
paramtrage ? si oui, de quelle faon ?
(Saisie : S Saisie / A Affich / I Invisible)

Remarque :
Les valeurs saisies dans les bornes peuvent ne pas correspondre des clients existants et peuvent
ne pas tre saisies.

Copyright Sage 2011 Page 148


SAFE X3 DEVELOPPEMENT

18.4.3. Traitement

Lire les clients slectionns


Pour chacun deux :
Verrou logique de lenregistrement lu
Constitution de la transaction de mise jour
Verrou physique de lenregistrement mettre jour
Remise zro des cumuls HT et TTC ( enregistrement client )
Lecture des commandes passes pour ce client avec calcul des cumuls
Mise jour des cumuls HT et TTC du client
Enlever le verrou logique
Constitution dune trace :
Message dinformation : Client mis jour : xxxxx
Message derreur : xxxxx Rollback suite erreur dans la transaction

Le traitement YEX est complter.

18.4.4. A vrifier

Contrles de la saisie des bornes client


Les rsultats dans les fiches clients
Lexcution du traitement en mode interactif et batch
La trace

Notes

Copyright Sage 2011 Page 149


SAFE X3 DEVELOPPEMENT

Copyright Sage 2011 Page 150


SAFE X3 DEVELOPPEMENT

19. MODELE SELECTION TABLE

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)

Slection dans table


Les lments proposs dans la fentre sappuient sur une table ou une classe [F] issue du Link
Possibilit de filtre des enregistrements
On indique les champs prsenter dans cette fentre
1 enregistrement = 1 ligne, 1 champ= 1 colonne (25 colonnes maximum)
Le nombre de lignes affiches est fonction du paramtre utilisateur NBRCHOOSE
Ensuite possibilit de pagination

Le traitement superviseur est GACTION

Pour crer une fentre de slection :


Utiliser le type de donne li lobjet
Sinon, utiliser les actions SELOBJW et SELOBJAW
Loption # permet de ne pas appliquer le filtre sur ENAFLG, et laction FILTRE lie lobjet.
Sinon, se crer une action slection table

Copyright Sage 2011 Page 151


SAFE X3 DEVELOPPEMENT

19.2. ACTIONS SUR MODELE

Slection dans table

SEL_TABLE avant l affichage de la fentre

VERF_TABLE aprs la saisie du choix

FIN_TABLE fin de traitement

Copyright Sage 2009-2010 Safe X3 Dveloppement 79

19.2.1. SEL_TABLE

Action lance avant laffichage de la fentre.

Positionner la table par dfaut


Dfinir les colonnes de la fentre de slection avec :
No de colonne NBCOL
Nom du champ COL(NBCOL)
Titre de la colonne TIT(NBCOL)
Donner un titre la fentre : TIT(0)

Colonne rcuprer suite au choix : START


Filtre de slection des enregistrements : CRITERE
Critre de tri : ORDRE
Sens du tri : SENS
Grer une pagination : DEFPAG=1
Afficher lments partir de EXPSTART
Affecter une taille de fentre SIZLIG & SIZCOL

Pagination :
Gre par le superviseur si DEFPAG=1,
Tient compte du tri positionn dans ORDRE et SENS.

Tri :

Copyright Sage 2011 Page 152


SAFE X3 DEVELOPPEMENT

Par dfaut, tri sur la premire colonne dclare dans la fentre.


Possibilit de trier les enregistrements d'une autre faon.
On indique le nom d'un ou plusieurs champs appartenant la table mais pas forcment la fentre.
Les noms de champs sont spars entre eux par le caractre ";".
Exemple : ORDRE = "[F:ADI]NUMTAB;[F:ADI]CODE

Par dfaut, sens du tri est ascendant


Possibilit de tri descendant avec SENS=2

19.2.2. VERF_TABLE

Action lance aprs la saisie du choix, avant lalimentation de VALEUR

Sert :

Affecter dautres champs : [M]champ = [F]champ


Affzo [M]

Effectuer des contrles du choix


Afficher un message derreur : GERR = 1
GMESSAGE = mess

La classe [F] complte de lenregistrement est disponible.


Il est alors possible daffecter dautres champs, puis de les afficher.

19.2.3. FIN_TABLE

Action lance en fin de traitement mme si aucune slection na t effectue

Sert :

Enlever un filtre positionn auparavant


Intervenir sur le choix : Valeur

Sur action Slection


Automatisme de passage au champ suivant par le superviseur
Forcer le curseur rester sur le champ courant mkstat=2

Sur action Bouton


Forcer le curseur passer au champ suivant mkstat=99

Copyright Sage 2011 Page 153


SAFE X3 DEVELOPPEMENT

20. MODELE SELECTION LISTE

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

Copyright Sage 2011 Page 154


SAFE X3 DEVELOPPEMENT

20.2. ACTIONS SUR MODELES

Slection dans liste

SEL_LISTE avant l affichage de la fentre

VERF_ LISTE aprs la saisie du choix

FIN_ LISTE fin de traitement

Copyright Sage 2009-2010 Safe X3 Dveloppement 81

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.

20.2.1. SEL_ LISTE

Action lance avant laffichage de la fentre

Sert :

charger la fentre de slection avec :


No de ligne NBTEX
Nom de champ invisible TEX (NBTEX)
Texte affich TEXTE (NBTEX)

Donner un titre la fentre : TIT

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.

Afficher de 1 5 colonnes alignes :

Copyright Sage 2011 Page 155


SAFE X3 DEVELOPPEMENT

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.

Les titres de colonnes :


La variable TIT est dimensionne TIT (50)(0..5) dans le superviseur.
Inutile de la re-dclarer
Lindice 0 est rserv au titre de la fentre (comme actuellement)
Le titre des colonnes se paramtre partir de l'indice 1.

Action disponible :
Tri sur colonne
(slection rapide et pagination non supportes)

20.2.2. VERF_LISTE

Action lance aprs la saisie du choix, aprs lalimentation de VALEUR

Sert :

Affecter dautres champs : [M]champ = [F]champ


Affzo [M]

effectuer des contrles du choix


afficher un message derreur : GERR = 1
GMESSAGE = mess

20.2.3. FIN_LISTE

Action lance en fin de traitement mme si aucune slection na t effectue

Sert :

Enlever un filtre positionn auparavant


Intervenir sur le choix : Valeur

Sur action Slection


Automatisme de passage au champ suivant par le superviseur
Forcer le curseur rester sur le champ courant mkstat=2

Sur action Bouton


Forcer le curseur passer au champ suivant mkstat=99

Copyright Sage 2011 Page 156


SAFE X3 DEVELOPPEMENT

20.3. VARIABLES DISPONIBLES EN LECTURE :

[V]GACTION Code action dictionnaire

Traitement standard

[L]BOITE Code fentre

[L]GBATCH Etape de lancement : 0 interactif 1 soumission requte


[L]GSERVEUR Etape dexcution : 0 interactif 1 batch

Slection table et liste / Affichage divers

[L]TABLE Identification action sel. table


[L]LISTE Identification action sel. liste
[L]TRAIT Identification action aff. Divers

Copyright Sage 2011 Page 157


SAFE X3 DEVELOPPEMENT

21. MODELE CONSULTATION

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

> Paramtres de laction


> Modle : Consultation
> Code consultation

Type de traitement : consultation


Gre les consultations
Le traitement lanc est GCONSULT

Remarque :
Le traitement qui contiendra vos actions est le CNSxxxSPE.

21.2. FENETRE PRINCIPALE :

Affichage de la liste des lments.


Possibilit de passer dune page une autre.
Affichage de la fentre de critre.

Ergonomie gnrale fentre principale :


Un cran entte fig, un onglet unique fig ou dynamique
Lcran dentte comprend les principaux critres de recherche
Longlet est sous forme de tableau.
La variable de bas de tableau doit se nommer NBLIG.

Boutons standards sont :


Critres, Recherche, Suite, Retour, Dernier, Graphique, Fin
Critres prsent, si une fentre de critre est dfinie pour la consultation
Graphique prsent, si un graphique est dfini pour la consultation
Boutons / menus particuliers la consultation
F5 permet le rafrachissement de la page courante
Les boutons magnto permettent de faire dfiler la cl principale de recherche.
Fichier/Impression permet limpression de la fentre principale
Fichier/Liste permet limpression de la liste prcise dans la fonction
Les derniers lus de lobjet associ sont mis jour
Pas de liste de gauche

Copyright Sage 2011 Page 158


SAFE X3 DEVELOPPEMENT

21.3. FENETRE DE CRITERES :

Enregistrer et modifier de nombreux critres de slection et de tri.


enregistrer et choisir 1 cran paramtr.
enregistrer le tout dans un mmo

Ergonomie gnrale fentre critre


Cration dun cran critre si trop de critres, si zone affichage, si mmo, si cran dynamique
un bloc de slection et un bloc daffichage
Si modif des zones daffichage, la page courante est raffiche.
Si modif des zones de slection, la recherche est relance depuis la 1re page.
Boutons standard sont : ok, fin, mmo, rappel, eff. mmo,
mmo : cration dun mmo
rappel : chargement dun mmo
eff.mmo : suppression du mmo
Boutons particuliers la consultation pour cette fentre
Le champ mmo actif doit se nommer MEMO
Le champ code cran doit se nommer ECRAN
Il a en paramtre le code consultation
Initialisation des critres lentre dans la fonction si mmo STD
Chaque mmo est cr dans le rpertoire ETM sur le serveur sous la forme :
utilisateur_mmo.consultation
Se rserver dans le dictionnaire le code mmo

21.4. ELEMENTS COMPOSANT UNE CONSULTATION

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

Copyright Sage 2011 Page 159


SAFE X3 DEVELOPPEMENT

Pour une consultation xxx :

Fentre principale FCNSxxx (obligatoire) : type = plein cran


cran entte CONSxxx1 abrv. xxx1 (obligatoire)
cran dtail CONSxxx2 abrv. xxx2 (obligatoire)

Fentre critre DCNSxxx (facultative) : type = boite dialogue


cran critre CRITxxx abrv. Cxxx

Action CONSxxx
type de traitement Consultation
code consultation xxx (obligatoire)
dfinition des paramtres

Fonction CONSxxx
action CONSxxx (obligatoire)
valeur des paramtres

21.5. PARAMETRES DUNE CONSULTATION

21.5.1. Onglet Ecrans:

Les consultations sont paramtrs dans le menu Dveloppement>Dictionnaires


traitements> Consultations
Renseignement de la fentre principale et de la fentre de critre.
Correspondance des champs entte de la fentre de principale et de la fentre de
critres
Traitements standard/spcifiques.

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).

Intitul : Ce texte est repris en titre de longlet de la fentre principale.

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 principale : Cette zone est obligatoire.

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.

Copyright Sage 2011 Page 160


SAFE X3 DEVELOPPEMENT

21.5.2. Onglet Tables :

Tables ouvertes automatiquement dans le traitement.

21.5.3. Onglet Divers :

Permet de renseigner la table principale.


La clef de parcours.

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.

- Composantes de cl : Indique la correspondance entre les composantes de la cl et les champs de


lcran dentte.

- Magntos O/N : Indique si les boutons magntos sont grs. Non saisi si aucune table
nest prcise.

Copyright Sage 2011 Page 161


SAFE X3 DEVELOPPEMENT

21.6. ACTION SUR MODELE CONSULTATION

Modle consultation

AUTORIS En tout dbut de modle, sert grer les droits


OUVRE Permet louverture des tables et des mask

LECTURE Quand on lance la recherche


FILTRE Depuis l'action de lecture, pour le spcifique
uniquement

Copyright Sage 2009-2010 Safe X3 Dveloppement 84

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.

Changer le code mmo associ la consultation en fonction du contexte en alimentant la


variable MEMO.

Exemple :

Consultation de la balance ge. consultation BAG.

$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

Copyright Sage 2011 Page 162


SAFE X3 DEVELOPPEMENT

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 :

Dclarer des variables globales ou locales par les syntaxes du type


Local Integer MA_VARIABLE
Global Char POUR_TOUS(100)

Affecter des variables globales

Ouvrir des tables avec des instructions du type


If clalev ([F :XXX]) = 0 : Local File XXXXX : Endif

Elle sert aussi alimenter les critres de slection, 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.

Les variables disponibles sont les suivantes :

PARAM()(1..) : paramtres passs l'appel de la consultation

PROGCNS : traitement gnr la validation de la consultation. Il est nomm CNS+code


consultation

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

Gosub CHANGE_MSK From GCONSULT


If CHGPAG<0 : NOL = MAXLIG : Endif

#-- Positionnement des Filtres


Gosub LOAD_FILTER

#-- dans les traitements standards uniquement : appel au spcifique


If PROGSPE<>""

Copyright Sage 2011 Page 163


SAFE X3 DEVELOPPEMENT

ACTION = "FILTRE" : Gosub ACTION From =PROGSPE


Endif

#-- Application des Filtres et tri des enregistrements


If CHGPAG > 0
SUITE=1
If CHGPAG = 1 : RETOUR = 1 : Elsif CHGPAG = 2 : RETOUR = 2 : Endif
Case [M:CCSQ]TRI
When 1 : # tri par numro
Filter [SQH] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2) Order By Key SQH0
When 2 : # tri par date
Filter [SQH] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2)
& Order By Key CLE=[F:SQH]QUODAT;[F:SQH]SQHNUM
Endcase
Else
RETOUR=1
If CHGPAG = -1 : SUITE = 1 : Else SUITE = 2 : Endif
Case [M:CCSQ]TRI
When 1 : # tri par numro
Filter [SQH] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2) Order By Key SQH0
Desc
When 2 : # tri par date
Filter [SQH] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2)
& Order By [F:SQH]QUODAT Desc ;[F:SQH]SQHNUM Desc
Endcase
Endif

#-- raz du masque si 1ere ou dernire page


If CHGPAG<>2 & CHGPAG<>-2 : Raz [M:CSQ2] : Endif

#-- boucle de lecture


$BOUCLE
For [SQH]

#-- Filtre supplmentaire (section facultative)


If [M:CSQ1]CPY <> ""
If [F:FCY]FCY <> [F:SQH]SALFCY
Read [F:FCY]FCY0 = [F:SQH]SALFCY
If fstat Raz [F:FCY] : Endif
Endif
If [F:FCY]LEGCPY <> [M:CSQ1]CPY Goto SUIV : Endif
Endif

If NBLU = 1
If CHGPAG=2 | CHGPAG=-2 : Raz [M:CSQ2] : Endif
NBLU = 2
Endif

#-- stockage des bornes dbut et fin d'enregistrement pour l'cran


If CHGPAG > 0
If NOL >= MAXLIG-1 : SUITE=2 : Break : Endif
NOL += 1
If NOL=0
DEBNUM = [F:SQH]SQHNUM
DEBDAT = [F:SQH]QUODAT
Endif
FINNUM = [F:SQH]SQHNUM
FINDAT = [F:SQH]QUODAT
Else
If NOL <= 0 : RETOUR=2 : Break : Endif

Copyright Sage 2011 Page 164


SAFE X3 DEVELOPPEMENT

NOL -= 1
If NOL=MAXLIG-1
FINNUM = [F:SQH]SQHNUM
FINDAT = [F:SQH]QUODAT
Endif
DEBNUM = [F:SQH]SQHNUM
DEBDAT = [F:SQH]QUODAT
Endif

#-- chargement du masque


nolign = NOL+1
[M:CSQ2]SQHNUM(nolign-1) = [F:SQH]SQHNUM
[M:CSQ2]BPCORD(nolign-1) = [F:SQH]BPCORD
[M:CSQ2]QUODAT(nolign-1) = [F:SQH]QUODAT
[M:CSQ2]VLYDAT(nolign-1) = [F:SQH]VLYDAT
[M:CSQ2]QUOSTA(nolign-1) = [F:SQH]QUOSTA
[M:CSQ2]QUONOT(nolign-1) = [F:SQH]QUONOT
[M:CSQ2]QUOATI(nolign-1) = [F:SQH]QUOATI
[M:CSQ2]CUR(nolign-1) = [F:SQH]CUR
...

$SUIV
Next
Filter [SQH]
Return

#--- Prparation du filtre #


$LOAD_FILTER
WFIL = "1=1"
WFIL1 = "1=1"
WFIL2 = "1=1"
If [M:CSQ1]SALFCY <> ""
WFIL += "&[F:SQH]SALFCY=[M:CSQ1]SALFCY"
Endif
...
Case CHGPAG
When 3 : # rafraichissement
Case [M:CCSQ]TRI
When 1 : # tri par numro
WFIL1 += "&[F:SQH]SQHNUM>=DEBNUM"
When 2 : # tri par date
WFIL1 += "&([F:SQH]QUODAT>DEBDAT | ([F:SQH]QUODAT=DEBDAT &
[F:SQH]SQHNUM>=DEBNUM))"
Endcase
When 2 : # suite
Case [M:CCSQ]TRI
When 1 : # tri par numro
WFIL1 += "&[F:SQH]SQHNUM>FINNUM"
When 2 : # tri par date
WFIL1 += "&([F:SQH]QUODAT>FINDAT | ([F:SQH]QUODAT=FINDAT &
[F:SQH]SQHNUM>FINNUM))"
Endcase
When -2 : # retour
Case [M:CCSQ]TRI
When 1 : # tri par numro
WFIL1 += "&[F:SQH]SQHNUM<DEBNUM"
When 2 : # tri par date
WFIL1 += "& ([F:SQH]QUODAT<DEBDAT | ([F:SQH]QUODAT=DEBDAT &
[F:SQH]SQHNUM<DEBNUM))"
Endcase

Copyright Sage 2011 Page 165


SAFE X3 DEVELOPPEMENT

Endcase
Return

Les variables disponibles en lecture sont les suivantes :

CHGPAG : identifie l'action qui a dclench la lecture


1 < Recherche >
2 < Suite >
3 < Rafraichissement >
- 1 < Dernier >
- 2 < Retour >
MAXLIG : nombre de lignes maximum dans le tableau.

Les variables disponibles en mise jour sont les suivantes :

NBLU : nombre d'enregistrements afficher.

NOL : indice de remplissage du tableau


l'incrmenter si CHGPAG > 0
le dcrmenter si CHGPAG < 0

SUITE : permet de dsactiver les boutons < Suite > et < Dernier >

RETOUR : permet de dsactiver le bouton < Retour >

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. EXERCICE CONSULTATION DES COMMANDES STANDARDS

21.1.1. Objectif

Ajout dun filtre la consultation des lignes de commandes de vente


Ventes>Consultations>Commandes>Lignes commandes . Le filtre sera une borne infrieure sur le
total de commande TTC.

21.1.2. Marche suivre

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.

Copyright Sage 2011 Page 166


SAFE X3 DEVELOPPEMENT

21.1.3. A vrifier

Le bon fonctionnement du filtre.

Copyright Sage 2011 Page 167


SAFE X3 DEVELOPPEMENT

22. POINT DENTREE

22.1. REGLES DES POINTS DENTREE

Ils permettent lajout de code dans les traitements fonctionnels du standard


Ils compltent les possibilits donnes par les actions
Ils sont rservs uniquement aux spcifiques
Ils sont systmatiquement accompagns dune documentation
Ils sont ajouts la demande.

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

Lier un traitement standard un ou plusieurs traitements spcifiques.

Pour lappel de plusieurs traitements spcifiques :


Renseigner le champ paramtrage
Sous la forme PROG1~CODACT1; PROG2~CODACT2;
Programmer lappel de ces traitements depuis le traitement spcifique principal.

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 superviseur (EXEFNC)


Recherche du traitement spcifique dans la table AENTREE par la variable adxpno(1) contenant le
nom du traitement standard.
Appel du traitement spcifique.

Copyright Sage 2011 Page 168


SAFE X3 DEVELOPPEMENT

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

Deux Variables Globales disponibles


GENTSTD(i) : traitement standard de la table AENTREE
GENTSPE(i) : traitement spcifique associ

22.2. EXERCICE : GESTION DES COMMANDES STANDARD

22.2.1. Objectif

Ajouter un champ spcifique dans la gestion des commandes standard.


Ce champ pourra tre saisissable, affich ou invisible par paramtrage dans les transactions de
saisie.

22.2.2. Marche suivre

Ajout du champ en gestion commande

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.

Ajout dun champ en transaction de saisie des commandes

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).

Copyright Sage 2011 Page 169


SAFE X3 DEVELOPPEMENT

Ces transactions de saisie permettent de gnrer des crans partir des crans de base des
commandes (SOH0, SOH1, SOH2, SOH3, SOH4).

Copyright Sage 2011 Page 170


SAFE X3 DEVELOPPEMENT

22.2.3. A vrifier

Pour la gestion des commandes standards :


Saisie et stockage du champ YFLGSPE

Pour les transactions de saisie :


Gnrer une transaction ou tous les champs sont saisissables
Gnrer une transaction ou tous les champs sont affichs
Gnrer une transaction ou tous les champs sont invisibles
Les utiliser dans la gestion des commandes

Notes

Copyright Sage 2011 Page 171


SAFE X3 DEVELOPPEMENT

Copyright Sage 2011 Page 172


SAFE X3 DEVELOPPEMENT

23. ECRANS GRAPHIQUES

23.1. PRESENTATION GRAPHE SIMPLE ET MULTI

Ecrans graphiques : Graphe simple

Axes danalyse

Ventes > Consultations > Commandes par priode

Copyright Sage 2009-2010 Safe X3 Dveloppement 88


libells
Graphe simple et multi-graphe
Visualisation
Survol dun lment affiche labscisse et coordonne
Simple clic sur une barre permet dafficher le menu contextuel de la variable de bas de
tableau

Champ invisible : non affich dans le graphe, et axe invisible


Champ avec intitul vide : non affich dans le graphe, et axe invisible
Champ invisible par trt : non affich dans le graphe, mais axe visible
Intitul valu : non gr sur graphe simple. (multi ok)

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

Copyright Sage 2011 Page 173


SAFE X3 DEVELOPPEMENT

Ecrans graphiques : Multi-graphe

Axes danalyse

Ventes > Consultations > Commandes par priode

Copyright Sage 2009-2010 Safe X3 Dveloppement 89


libells
Multi-graphes :
Visualisation de plusieurs valeurs sur le mme graphe.
Reprsentation pouvant tre diffrente pour chaque valeur (barre, ligne)
Reprsentation distincte, cumulative ou comparative

Limites des graphes simples ou multi


550 cellules pour les valeurs de graphe
16 axes danalyses max. (au-del, se dessine mais pas de couleur affecte)
Couleur affecte automatiquement
Taille et disposition du libell calcules automatiquement (horizontale si possible, sinon
verticale)

Copyright Sage 2011 Page 174


SAFE X3 DEVELOPPEMENT

23.2. PARAMETRAGE

23.2.1. Paramtrage du bloc et du graphe

> Appel dun graphe partir dun tableau dans le dictionnaire des crans
Reprsentation du bloc :
> Caractres
> Car. ou Graph.
> Car. et Graph.
> Graphique

Paramtrage du graphe par clic droit sur ce champ.

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.

> Paramtrage du graphe sur click droit de la colonne reprsentation


Type graphique :
> Graphe simple
> Multi-graphe
> XLS
> Gantt
> Agenda
Position du graphe par rapport au tableau (car. et graphe)
Affichage par dfaut (car. ou graphe)
> Tableau
> Graphique
Reprsentation (multi-graphe)
> Multi
> Cumulatives
> Comparatives
Tous les graphes se paramtrent de la mme faon : Insertion dun tableau avec les
diffrents axes, puis renseignement des paramtres graphiques.

Copyright Sage 2011 Page 175


SAFE X3 DEVELOPPEMENT

23.2.2. Paramtrage des champs dcrans

Ecrans graphiques : Graphe simple et Multi-


graphe

Axes danalyse

Copyright Sage 2009-2010 Safe X3 Dveloppement 90


libells
Paramtrage des champs :
Libell ( sur champ caractres ) 1 seul
Valeur ( sur champ numrique ) plusieurs possible
Dfaut ( sur champ numrique ) 1 seul

Dfaut : axe analytique affich par dfaut

Reprsentation des axes :


Dfaut (suit la dfinition du graphe)
Barre
Ligne

23.2.3. Effacement des lignes de totalisation

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.

Pour cela, il faut :


prvoir un champ de type de donnes AEX en invisible dans le tableau.
alimenter ce champ par la valeur "X" sur les lignes exclure du graphe.

Le superviseur se chargera ensuite automatiquement de l'exclusion.

Copyright Sage 2011 Page 176


SAFE X3 DEVELOPPEMENT

23.3. GANTT

23.3.1. Prsentation

Ecrans graphiques : Gantt

Copyright Sage 2009-2010 Safe X3 Dveloppement 91

Graphe dclarer de type Gantt dans les paramtres graphiques.

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.

capacits de dplacement et de zoom grce son MiniPad.


Lors d'un zoom, l'chelle de temps (timeline) volue en temps rel pour une plus grande
fluidit de l'interface.

Exemple : Production > Donnes techniques > Gammes > Gestion Gammes

Copyright Sage 2011 Page 177


SAFE X3 DEVELOPPEMENT

23.3.2. Paramtrages des champs dcrans

Ecrans graphiques : Gantt

Cl Nom Date interne Dure D affiche Type jour

Copyright Sage 2009-2010 Safe X3 Dveloppement 92

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

Copyright Sage 2011 Page 178


SAFE X3 DEVELOPPEMENT

23.4. AGENDA

23.4.1. Prsentation

Ecrans graphiques : Agenda

Copyright Sage 2009-2010 Safe X3 Dveloppement 93

Graphe dclarer de type Agenda dans les paramtres graphiques.

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

Exemple : Relation>Action commerciale>Agenda

Copyright Sage 2011 Page 179


SAFE X3 DEVELOPPEMENT

23.4.2. Paramtrage des champs dcrans

Ecrans graphiques : Agenda

Copyright Sage 2009-2010 Safe X3 Dveloppement 94

Tableau :
Lignes
1 ligne pour chaque vnement.

Colonnes
Aucun nom nest impos.
Le paramtrage permet lidentification de chaque colonne.
Paramtrage par table diverse 915

Copyright Sage 2011 Page 180


SAFE X3 DEVELOPPEMENT

23.5. PLANNING MENSUEL

23.5.1. Prsentation

Ecrans graphiques : Planning mensuel

Type de jour
1 Ouvr
2 Week-end
3 Fri
Activit
1 Travaill
2 Congs pays
3 RTT
4 Maladie
5 Formation

Copyright Sage 2009-2010 Safe X3 Dveloppement 95

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)

Planning grant de 1 12 mois (remplissage du tableau)


Affichage de 1 12 mois simultanment (paramtrage graphe)
Affectation de 1 8 activits (paramtrage graphe par menu local)
Dcoupage des jours en 1 4 plages (prsence champ plage dans tableau)

Tableau :
1 ligne par jour
1 colonne par plage dactivit (1 4)

Copyright Sage 2011 Page 181


SAFE X3 DEVELOPPEMENT

23.5.2. Paramtrage des champs

Ecrans graphiques : Planning mensuel

mess(1,9837,1)

Copyright Sage 2009-2010 Safe X3 Dveloppement 96

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

Copyright Sage 2011 Page 182


SAFE X3 DEVELOPPEMENT

23.5.3. Paramtres graphiques

> Paramtres graphiques

Appel dun graphe de type XSL

Appel du champ clob dfinis dans un bloc technique de lcran pour recevoir le code
daffichage XSL du composant cran APLNAM

Paramtrage des valeurs suivantes :


> Nombre de mois affichs
> Menu des types dactivit
> Remise jour graphique
> Programme dinteraction

Paramtres :
Nombre de mois affichs :
1 12 mois

Menu des types dactivit :


Menu local modifiable (1 8 activits)

Remise jour graphique :


Permet le recalcul du graphe suite l'interaction sur le graphe lui-mme
1 non : cet XSL fait systmatiquement la mise jour du graphe

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

Copyright Sage 2011 Page 183


SAFE X3 DEVELOPPEMENT

23.6. COMPOSANTS GRAPHIQUES

> Prsentation

Les composants graphiques permettent la ralisation de graphes interactifs appelable


dans les crans X3.
Traitement en langage XSL, transforme du xml en html ( + ajout de javascript )
Renseignements des paramtres dinteractions entre X3 et le composant graphique.
Le dictionnaire des composants graphiques se situe dans le menu :
Dveloppement>Dictionnaire traitements>Ecrans>Composants Ecran

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)

Ce traitement Sage X3 est livr.

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.

Copyright Sage 2011 Page 184


SAFE X3 DEVELOPPEMENT

23.7. PLANNING ANNUEL

23.7.1. Prsentation

Ecrans graphiques : Planning annuel

Copyright Sage 2009-2010 Safe X3 Dveloppement 97

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)

Planning grant de 1 12 mois (remplissage du tableau)


Affectation de 1 8 activits (paramtrage graphe par menu local)
Dcoupage des jours en 1 4 plages (prsence champ plage dans tableau)

Copyright Sage 2011 Page 185


SAFE X3 DEVELOPPEMENT

23.7.2. Paramtres crans


> Paramtres :
Code XSL : APLANY
Menu des types dactivit :
> menu local modifiable (1 8 activits)
Remise jour graphique :
> permet le recalcul du graphe suite l'interaction sur le graphe lui-mme
> 1 non : cet XSL fait systmatiquement la mise jour du graphe
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

Copyright Sage 2011 Page 186


SAFE X3 DEVELOPPEMENT

23.8. NOMENCLATURE HORIZONTALE

23.8.1. Prsentation

Ecrans graphiques : Nomenclature horizontale

Copyright Sage 2009-2010 Safe X3 Dveloppement 98

Graphe :
Le composant XSL permet de reprsenter des nomenclatures horizontalement.

Avec le traitement interactif standard, il est possible de :


Dplacer un lment et tout ce qui lui est attach, si autoris
Afficher une photo pour chaque lment
Avoir un menu contextuel (clic droit sur lment)
Dexcuter un traitement associ par double-clic sur dernier niveau dlment, si autoris
(point dentre CLICNOM depuis AMAJHIER)

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

Copyright Sage 2011 Page 187


SAFE X3 DEVELOPPEMENT

23.8.2. Paramtrage cran

> Paramtres cran

Appel dun graphe de type XSL

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

23.8.3. Paramtrage graphique


> Paramtres graphiques :
Composant cran : ANOMH
Modification autorise : 1 non, 2 oui (Dplacement dune hirarchie)

Excution sur double clic


> 1 non / 2 oui (traitement crire dans AMAJHIER) sur lment le + bas
> point dentre CLICNOM depuis AMAJHIER

Remise jour graphique


> permet le recalcul du graphe suite l'interaction sur le graphe lui-mme
> 2 OUI : flag positionner sur nomenclature horizontale et verticale

Taille des boites :


> 100 x 100 points par dfaut (adapte pour image)

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)

Excution sur double clic


1 non / 2 oui (traitement crire dans AMAJHIER)
Sur lment le + bas
point dentre CLICNOM depuis AMAJHIER

Remise jour graphique

Copyright Sage 2011 Page 188


SAFE X3 DEVELOPPEMENT

Permet le recalcul du graphe suite l'interaction sur le graphe lui-mme


2 OUI : flag positionner sur nomenclature horizontale et verticale

Taille des boites :


100 x 100 points par dfaut (adapte pour image)

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.

Chemin daccs aux icones :

4.7 Nomenclature horizontale

Stockage images

Copyright Sage 2009-2010 Safe X3 Dveloppement 99

Images
A placer dans le rpertoire X3_PUB/ dossier /RES

Le traitement applicatif doit lire les images dans la base de donnes.


Puis les stocker dans ce rpertoire, avant laffichage de lorganigramme.

Copyright Sage 2011 Page 189


SAFE X3 DEVELOPPEMENT

23.9. NOMENCLATURE VERTICALE

23.9.1. Prsentation

Ecrans graphiques : Nomenclature verticale

Paramtrage > Utilisateurs > Profil menu Safe X3 Dveloppement 100


Copyright Sage 2009-2010

Graphe :
Composant XSL permettant de reprsenter des nomenclatures verticales

Avec le traitement interactif standard, il est possible de :


Dplacer un lment et tout ce qui lui est attach, si autoris
Plier / dplier un lment (clic sur symbole ou double-clic sur llment)
Avoir un menu contextuel (clic droit sur lment)
Dexcuter un traitement associ par double-clic sur dernier niveau dlment, si autoris
(point dentre CLICNOM depuis AMAJHIER)

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

Copyright Sage 2011 Page 190


SAFE X3 DEVELOPPEMENT

23.9.2. Paramtres cran

Appel dun graphe de type XSL

Appel du champ clob dfinis dans un bloc technique invisible de lcran pour recevoir
le code daffichage XSL du composant cran ANOMV.

Renseignement des paramtres crans


> 1 ligne par lment de nomenclature
> PARENT : cl du pre de lenregistrement courant. Obligatoire, sauf la
tte de nomenclature.
> KEYC : cl de lenregistrement courant. Obligatoire
> ICO : icne .
> LIBL1 : libell long .

Nom champ impos (sauf pour le clob) si utilisation du traitement standard de lXSL

23.9.3. Paramtres graphiques :

Composant cran : ANOMV


Modification autorise : 1 non, 2 oui (Dplacement dune hirarchie)

Excution sur double clic :


> 1 non, 2 oui (traitement crire dans AMAJHIER) sur lment le + bas
> point dentre CLICNOM depuis AMAJHIER

Remise jour graphique


> permet le recalcul du graphe suite l'interaction sur le graphe lui-mme
> 2 OUI : flag positionner sur nomenclature horizontale et verticale

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

Copyright Sage 2011 Page 191


SAFE X3 DEVELOPPEMENT

Ecrans graphiques : Nomenclature verticale

Stockage images

Copyright Sage 2009-2010 Safe X3 Dveloppement 101

Icones
placer sous X3_PUB/X3_ROOT
RESSTD/IMG pour le standard
RESPER/IMG pour le spcifique
RESVER/IMG pour le vertical

Copyright Sage 2011 Page 192


SAFE X3 DEVELOPPEMENT

23.10. RADAR

23.10.1. Prsentation

Ecrans graphiques : Radar

Copyright Sage 2009-2010 Safe X3 Dveloppement 102

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 )

23.10.2. Paramtrage cran

Appel dun graphe de type XSL

Appel du champ clob dfinis dans un bloc technique invisible de lcran pour recevoir
le code daffichage XSL du composant cran ARADAR

Renseignement des paramtres crans


> 1 ligne par lment analyser
> libell : un identifiant unique ( ex : Matric1, Matric2, ) un libell associ
lidentifiant
> valeur : valeur correspondant laxe danalyse prcis dans lintitul, doit tre
de type entier ou dcimal et avoir un intitul

Remarque :
> Possibilit de bouton sur variable de bas de tableau (clic droit sur zone)
> Aucun nom nest impos.

Copyright Sage 2011 Page 193


SAFE X3 DEVELOPPEMENT

23.10.3. Paramtres graphiques :

Composant cran : ARADAR


Echelle :
> Permet de fixer une valeur maximum pour repre graphique, et calcule dune
chelle.
> 0 : le composant adapte son chelle la + grande valeur reprsenter

Menu chelle :
> Menu local permettant de dfinir une lgende pour la graduation de lchelle

Remise jour graphique 1 non / 2 oui

Composant cran :
> Aucun programme dinteraction.
> Il ny aura donc pas de possibilit dintervenir sur ce graphe.
> Il sera juste en visualisation.

Copyright Sage 2011 Page 194


SAFE X3 DEVELOPPEMENT

23.11. BROWSER

23.11.1. Prsentation

Ecrans graphiques : Browser

Copyright Sage 2009-2010 Safe X3 Dveloppement 103

Objectif
Afficher une trois pages html, dans un bloc cran.
Onglet dans une barre en haut du bloc.

Exemple dutilisation en standard :


Plan daccs par clic droit sur la ville (type donne CTY)

23.11.2. Paramtres cran

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.11.3. Dfinition composant cran

Ce code doit exister dans la gestion des composants cran


Soit une adresse url (peut-tre value)
Soit une page html
Lurl value est dtermine en initialisation du clob. (affzo)

Copyright Sage 2011 Page 195


SAFE X3 DEVELOPPEMENT

23.12. BUREAUTIQUE

23.12.1. Prsentation

Ecrans graphiques : Bureautique

Copyright Sage 2009-2010 Safe X3 Dveloppement 104

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

Copyright Sage 2011 Page 196


SAFE X3 DEVELOPPEMENT

23.12.2. Traitement X3 de mise jour

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
###############################################################################

Le choix du document de devis utiliser est paramtrer dans le menu suivant :


Vente > Devis > Documents office par dfaut

23.12.3. Paramtres cran

Appel dun champ blob dfinis dans un bloc bureautique de lcran pour recevoir le
document.

Dimension (lignes - colonnes / capacit de stockage)

Par clic droit sur le type bloc bureautique possibilit de typer le document (Word,
Excel, power point), ou de laisser le choix lutilisateur (banalis)

23.12.4. Instruction calliu

Appel dune Macro Visual Basic Application associe un document bureautique


(Word, Excel, PowerPoint) contenu dans un champ blob dcran X3
Appel dune mthode JScript associe un bloc graphe de type DHTML contenu
dans un champ blob dcran X3

Syntaxe
CALLIU macro From champ_blob With liste_paramtres

Macro : nom de la macro VBA ou mthode javascript excuter sur le client


champ_blob : champ BLOB ou CLOB dun cran contenant document ou graphe
liste_paramtres : liste des paramtres passer entre lapplication X3 et la macro
Exemple
CALLIU "majx3" From CEXCEL With CART(0..20),CINTIT(0..20),CQTE(0..20),CPRIXU(0..20)

Copyright Sage 2011 Page 197


SAFE X3 DEVELOPPEMENT

23.12.5. Programme VBA

Pour crire un programme VBA allez dans le menu Outils>Macro>Visual Basic


Editor
La scurit doit tre au minimum pour permettre lexcution des macros
Outils>Options .
Excution de la macro par Calliu.

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
##########################################################################

Macro Visual Basic Application


Function majx3(article() As String, desig() As String, qte() As Integer, prixu() As Variant)
Dim Range1 As String
For i = 0 To 20
Range1 = "A" + CStr(i + 2)
Range(Range1).Select
article(i) = ActiveCell.Value
desig(i) = ActiveCell.Offset(0, 1).Value
qte(i) = ActiveCell.Offset(0, 2).Value
prixu(i) = ActiveCell.Offset(0, 3).Value
Next
Range("A1").Activate
End Function

Copyright Sage 2011 Page 198


SAFE X3 DEVELOPPEMENT

23.13. METHODES JAVASCRIPT

23.13.1. Prsentation

Ecrans graphiques : macro VBA / mthode


Javascript

Copyright Sage 2009-2010 Safe X3 Dveloppement 105

Bloc graphique de type DHTML


Dans cet exemple, les icnes permettent lappel une mthode Jscript, du composant cran li au
bloc browser

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)

Copyright Sage 2011 Page 199


SAFE X3 DEVELOPPEMENT

Variable Char VALEUR()


CALLIU "verifierActionJoueurA" From CLT1 With 39
End

Subprog CL_ICO6(VALEUR)
Variable Char VALEUR()
CALLIU "verifierActionJoueurA" From CLT1 With 40
End

23.13.3. Mthode javascript

Les mthodes JavaScript sont crire directement dans le composant cran.

Copyright Sage 2011 Page 200


SAFE X3 DEVELOPPEMENT

23.14. EDITEUR HTML

23.14.1. Prsentation

Ecrans graphiques : Editeur html

> Bloc Editeur HTML

Permet de saisir une documentation pour un objet.

Dveloppement > Dictionnaire donnes > Documentation > Documentation


Copyright Sage 2009-2010 Safe X3 Dveloppement 106

Exemple dans le menu :


Dveloppement > Dictionnaire donnes > Documentation > Documentation

Gestion Documentation
Existe aussi en gestion documentation champ

Dgriser le bouton ENREGISTRER pour une modification dans le clob


###########################################################################
$STYLE
Setmok [M] With 0
Return

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
###########################################################################

Copyright Sage 2011 Page 201


SAFE X3 DEVELOPPEMENT

23.15. VUE PORTAIL

23.15.1. Prsentation

> Paramtres cran

Appel dun champ clob dfinis dans un bloc Editeur HTML de lcran pour recevoir les
informations.

Dimension ( lignes - colonnes / capacit de stockage )

Ecrans graphiques : Vue portail

Copyright Sage 2009-2010 Safe X3 Dveloppement 107

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.

Copyright Sage 2011 Page 202


SAFE X3 DEVELOPPEMENT

23.15.2. Paramtres cran

Permet laffichage de donnes externes la fonction

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. EXERCICE : CONSULTATION DES COMMANDES

23.16.1. Objectif

Consulter un ensemble de commandes en fonction de critres de slection saisis en entte.

Visualiser le rsultat sous forme de graphe dans deux onglets :

Visualisation de la quantit et Prix HT pour chaque article command (graphe)


Visualisation de la quantit pour chaque article command mois par mois (radar)

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.

Copyright Sage 2011 Page 203


SAFE X3 DEVELOPPEMENT

Copyright Sage 2011 Page 204


SAFE X3 DEVELOPPEMENT

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.

23.16.2. Marche suivre

Cration dun cran dentte YGX1


Cration de 2 onglets YGX2, YGX3
Cration dune action YGX
Cration dune fonction YGX
Cration du traitement YGX

Pour ce faire, utiliser les descriptions ci-dessous.

Ecran dentte

Saisie de bornes article.

Champ Saisie Oblig. Particularits Dvelop.


YITMREFD S non Fentre de slection sur vos articles
Pas de contrle dexistence de la valeur
YITMREFF S non Fentre de slection sur vos articles
Pas de contrle dexistence de la valeur

Copyright Sage 2011 Page 205


SAFE X3 DEVELOPPEMENT

Onglet 1

Prvoir un tableau, dans lequel on aura une ligne par article.


Pour chaque ligne darticle, on a un champ quantit et prix HT * quantit
Associer un graphe ce tableau.
Le tableau et le graphe sont visualisables.

Champ Libell Saisie Spcifique Dvelop.


NBLIG S Tunnel sur la fiche article
YITMREF Article A Aliment par la rfrence article Oui
YQTY Quantit A Aliment par la quantit Oui
YORDNOT Prix HT A Aliment par: prix * quantit Oui

Onglet 2

Prvoir un tableau, dans lequel on aura une ligne par article.


Pour chaque ligne darticle, on a la dsignation article et la quantit mois par mois.
Associer un radar ce tableau.
Le tableau et le graphe sont visualisables.

Champ Libell Saisie Spcifique Dvelop.


NBLIG S Tunnel sur la fiche article
YITMREF Article A Aliment par la rfrence article Oui
YITMDES Nom A Aliment par la dsignation article Oui
YCRIT1 Janvier A Aliment par la quantit Oui

YCRIT12 Dcembre A Aliment par la quantit Oui

Fentre YGX

Cette fentre est compose de :


un entte et deux onglets
boutons recherche et fin

Action YGX

Choisir le modle pour le dveloppement de cette fonction.

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.

Copyright Sage 2011 Page 206


SAFE X3 DEVELOPPEMENT

23.16.3. A vrifier

Les donnes restitues dans les graphes et tableaux.

Notes

Copyright Sage 2011 Page 207


SAFE X3 DEVELOPPEMENT

Copyright Sage 2011 Page 208


SAFE X3 DEVELOPPEMENT

24. SPECIFIQUE

24.1. REGLES GENERALES

24.1.1. Rgles de nommage

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

Les caractres suivants sont recommands :


M* module GPAO
P* module achat
S* module vente, stock

Utilisation d'une codification anglophone, pouvant tre constitue de groupes de 3


car. capitaliss dans la fonction "codification/rubriques"

Positionnement Code activits verticaux et spcifiques

Cration : code activit au niveau le plus haut


Modification : code activit au niveau le plus bas
Suppression : code activit inactif

Les noms de traitements sont limits 30 caractres.

24.1.2. Rgles pour action / champ standard

STD ne sont ni modifiables ni supprimables

SPV action verticale


SPE action spcifique

Action dictionnaire X, Y ou Z

Remarque : Les actions spcifiques sur champs ne ncessitent pas de codes activit.

24.1.3. Rgles pour action / modle

Ordre dexcution fig : spcifique, vertical puis standard


Dsactivation de laction standard : GPE=1
Dsactivation de laction verticale : GPV=1
Possibilit dappel de laction standard ou vertical par programmation :

################################################################################
#Permet lexcution du standard avant le spcifique

Copyright Sage 2011 Page 209


SAFE X3 DEVELOPPEMENT

$ACTION
Case ACTION
When OUVRE : Gosub OUVRE
When default
Endcase
return

$OUVRE
Gosub OUVRE From SUBxxx
( spcifique)
GPE = 1
return
################################################################################

Copyright Sage 2011 Page 210


SAFE X3 DEVELOPPEMENT

24.1.4. Nommage des traitements spcifiques

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 :

24.1.5. Transaction de saisie

Certains crans standards sont affichs dans lapplication via des crans gnrs par les
fonctions de transactions de saisie

Exemple pour les inventaires (crans standard SNL0) Stock>Inventaires>Inventaires

Lcran SLN0 nest jamais affich.


Lcran de nom W+compteur gnr par la transaction de saisi est utilis.

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!

24.1.6. Traitements gnrs


Noms Intituls
W0+cran Traitement d'import d'un cran
W1..9+cran Traitements d'un cran
WO + objet Traitement d'un objet
WG + fentre Traitement d'une fentre
WWCNS + cons. Traitement d'une consultation
WWINI + abrv. Traitements d'initialisation d'une table
WWI + compteur Traitement d'import
WWE + compteur Traitement dexport
WWGLOBLON Var. glob. lies aux types de donnes alphanumriques
WWGLOBVAR Variables globales lies aux paramtres
WWGLOB + chap Variables globales lies aux paramtres par chapitre

Copyright Sage 2011 Page 211


SAFE X3 DEVELOPPEMENT

24.1.7. Limites des composants dictionnaires


Elments Total Standard Spcifique
Nombre donglets 15 10 5
Nombre de browsers 9 6 3
Nombre de boutons sur champs 20 16 4
Nombre de boutons et menus 60 minuscules
Nombre doptions dans les fonctions 8 minuscules
Nombre doptions dans les objets 9 minuscules
Textes de la table ATEXTE 1 49 999 50 000 99 999

Ajout des lments spcifiques (onglets, browsers, ) en fin de liste standard


Placement par le rang

Messages :
Vertical 160 - 169
5000 5199
Spcifique 6000 6199

Menus locaux :
Vertical 1000 1999
5200 5999
Spcifique 6200 6999

Pour les tables diverses


1000 - 1999 Tables diverses

Un code activit est ncessaire dans leur dfinition

24.1.8. Rgles des paramtres gnraux

Ajout dun chapitre spcifique (Xxx, Yxx, Zxx) dans la table diverse 901 chapitres pour paramtres

Ajout dun paramtre spcifique (Xxx, Yxx, Zxx) dans ce chapitre

Ajout dun paramtre spcifique


Peut aussi se faire dans un chapitre standard
Dans tous les cas, il doit avoir un code activit spcifique

Traitement WWGLOBVAR
Ds quune variable globale est associe au paramtre
excut automatiquement la connexion du dossier

Traitement WWGLOBXXX ( XXX = module )


est aliment ds quun paramtre de niveau socit ou site est associ une variable globale
nest pas excut automatiquement
ds lentre dans une fonction ou ds la saisie du champ site faire
Call GLOBVAR (SITE) From WWGLOBXXX

Variable globale
Est crer dans le dictionnaire associ
Pour le spcifique doit commencer par X,Y,Z,GX,GY ou GZ.

Copyright Sage 2011 Page 212


SAFE X3 DEVELOPPEMENT

24.1.9. Cration de patch avec bornes de date

La cration de patch peut tre excute depuis le menu Dveloppement \ Utilitaires \ Patch \
Cration automatique de patch

Cette fonction permet :


Slection automatique :
Tous les lments spcifiques modifis entre 2 dates avec code activit.

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

24.1.10. Cration de patch sans bornes de date

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.

Copyright Sage 2011 Page 213


SAFE X3 DEVELOPPEMENT

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

EXE insrer lorsqu'on patche les lments suivants :

Ecran de consultation ( AMK )


EXE SUBGTC permet la validation de tous les crans de paramtrage

Ecran de base ( AMK )


EXE SUBxxx permet la validation de toutes les transactions de saisie ( xxx= code objet de la
transaction )

Styles de prsentation ( ASY )


EXE SUBASY permet la validation de tous les styles

Transactions systmes ( AMI )


EXE SUBAMI permet la validation de toutes les transactions

Paramtres statistiques ( PS2 )


EXE SUBPS2 permet la validation de toutes les stats

Elments associs insrer lorsque lon patche les lments suivants :


Style conditionnel (ASL)
patcher les crans associs ( AMK ).

24.1.12. Nommage dun patch

La rgle de nommage conseille, pour les fichiers patchs en spcifique ou vertical est :
<SpecificId>_<PatchNumber>_<X3RequiredPatchLevel>_<X3Version>.dat

SpecificId : identifiant du spcifique ou vertical


PatchNumber : numro dordre squentiel
X3RequiredPatchLevel : numro de liste de patch standard partir duquel est compatible le
spcifique/vertical (facultatif)
X3Version : version du produit hte avec laquelle est compatible le patch spcifique/vertical

prrequis : dossier dclar de type spcifique pour intgration des traitements.

Copyright Sage 2011 Page 214


SAFE X3 DEVELOPPEMENT

24.1.13. Patch concernant une table :

Pour la structure dune table


type ATB, suivi du nom de la table.

Pour annuler et remplacer tous les enregistrements d'une table


type TAB, suivi du nom de la table.

Pour patcher un ou plusieurs enregistrements d'une table,


type abrv. table, suivie d'une expression de filtre.
Le patch permet la cration ou la modification d'enregistrements, mais pas la suppression.

Type TAB :
Attention ! Aucun lien avec une autre table n'est pris en compte ( ex : textes traduits ).

Copyright Sage 2011 Page 215


SAFE X3 DEVELOPPEMENT

24.1.14. Test dun patch

Le test dun patch se fait via le menu : Dveloppement \ Utilitaires \ Patch \ Test de patch

Avant lintgration de patch standard

Vrifie si des lments patcher sont en conflit avec les lments protgs par code activit
spcifique.

Vrification de tous les patchs dun rpertoire

Une trace dtaille lensemble des conflits

Exemple :
La consultation BAL protge par le code activit ZDA ne sera pas mise jour par patch standard.

24.1.15. Intgration dun patch

Renseignement du chemin du fichier crer.


Ne pas oublier de cocher linformation Intgration des patchs .
Ne garder slectionns que les dossiers o doit tre intgr le patch.

Dossier :
passer le patch sur le dossier applicatif uniquement

Intgration de traitements spcifiques :


il faut un dossier typ dossier spcifique
Ou un patch nommer SRCxxxxxxx
Sinon, seuls les traitements spcifiques dj existants seront mis jour.

Sur un dossier de test :


Intgration des traitements standards qui sinon resteraient dans le dossier mre.

Action ZSPX sur un champ dcran :


Rend inactif toute les actions spcifiques de mme type sur ce champ
SPE, SPX, actions > X.
Ce type de traitement est surtout utilis dans les versions antrieures la V5, car maintenant, nous
pouvons dsactiver les actions standards ou verticales directement partir du paramtrage de lcran.

Copyright Sage 2011 Page 216


SAFE X3 DEVELOPPEMENT

25. CONCLUSION

25.1. THEMES ABORDES AU COURS DE CETTE FORMATION :

Cration des lments suivants :


> tables, crans, objet, fentre, actions, fonction, batch, traitement SPE

Modification de lexistant :
> tables, crans, objet, fentre, fonctions, code activit

Choix du modle utiliser pour le dveloppement dune fonction :


> Modle objet, saisie fentre, traitement standard

Apprentissage du langage X3.

Copyright Sage 2011 Page 217


SAFE X3 DEVELOPPEMENT

25.2. TABLEAU DES FORMATIONS

Copyright Sage 2011 Page 218


SAFE X3 DEVELOPPEMENT

26. EXERCICES COMPLEMENTAIRES

26.1. EXERCICE A : CHANGEMENT DE STYLE (COMPLEMENT EX 1)

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.2. Marche suivre


Programmer le changement du style sur la rfrence article, en utilisant linstruction Chgstl (voir la
syntaxe dans laide en ligne).

26.1.3. A vrifier

Si on rend larticle actif, le style devient visible sur la rfrence article.


Si on rend larticle inactif, le style est effac.

Notes

Copyright Sage 2011 Page 219


SAFE X3 DEVELOPPEMENT

26.2. EXERCICE B : TEXTES TRADUITS EN GESTION ARTICLE (COMPLEMENT EX 1 )

26.2.1. Objectif

Ajouter 2 champs dans la gestion article :

Texte traduit long YDESTRA


Texte traduit court YSHOTRA

26.2.2. Marche suivre

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

En gestion commande, ouvrir la fentre de slection des articles.


Dans la fonction des articles crer des intituls traduits.

Notes

Copyright Sage 2011 Page 220


SAFE X3 DEVELOPPEMENT

26.3. EXERCICE C : LISTES GAUCHES EN GESTION CLIENT


(COMPLEMENT EX 2)

26.3.1. Objectif

Ajouter 4 listes gauches simples, dans la gestion client :

YC1 Liste des prospects, en ne proposant que les prospects


YC2 Liste des clients, en ne proposant que les clients
Ces 2 listes sont composes des champs YBPCNUM et YBPCNAM.

YC3 Liste compose des champs YBPCNAM et YBPCNUM, trie par nom.

Ajouter une liste gauche hirarchise, dans la gestion client :

YC4 Liste compose des champs YARE et YBPCNUM.

26.3.2. Marche suivre

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

Prsence des nouveaux browsers.


Lalimentation de ces browsers
Browser hirarchis pour le browser YC4
Alimentation partie droite de lcran, lorsquon slection un lment dun browser.

Copyright Sage 2011 Page 221


SAFE X3 DEVELOPPEMENT

Notes

Copyright Sage 2011 Page 222


SAFE X3 DEVELOPPEMENT

26.4. EXERCICE CONSULTATION CLIENT

26.4.1. Objectif

Crer une consultation capable dafficher et de trier les clients en fonctions de critres.

26.4.2. Marche suivre

Cration des crans entte et dtail


Cration de la fentre
Cration de la consultation de nom YCL
Cration de laction
Cration de la fonction

Ecran dentte

Champ Saisie Oblig. Particularits


YTRI S Menu local
YORDTOTNOT S DCB
YARE S Type ADI

YTRI doit contenir les 3 possibilits : Aucun tri


Secteur gographique
Total HT

Ecran dtail

Champ Saisie Oblig. Particularits


YBPCNUM S Type de donnes YCX
YORDDAT S Date dernire commande
YORDTOTNOT S DCB
YORDTOTATI S DCB
YARE S Type ADI (table 1000)

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.

Le traitement permettra de filtrer les commandes en dessous du total HT dfinis dans le


YORDTOTNOT.
Enfin, le traitement permettra dafficher uniquement les commandes ralis dans un secteur
gographique, champ YARE.

Pour crer ce traitement aidez-vous de lexemple du cours dcrit dans laction LECTURE.

Copyright Sage 2011 Page 223


SAFE X3 DEVELOPPEMENT

26.4.3. A vrifier

Affichage des clients sur clique du bouton Recherche


Gestion des tris et des filtres

26.4.4. Etape N2

Gestion des boutons bas de pages.

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.

Pour excuter ce traitement allez dans le menu Dveloppement>Utilitaires>Divers>Excution


Traitement puis renseignez le nom du traitement.

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

Vrifier le fonctionnement des boutons RETOUR et SUITE

Notes

Copyright Sage 2011 Page 224


SAFE X3 DEVELOPPEMENT

26.5. SUJETS ABORDES

Exercice 1 Objet de type tableau

Exercice 2 Objet de type simple


Action du dictionnaire
Appel action champ
Type de donne
Table diverse
Menu local

Exercice 3 Objet de type simple (entte dtail)


Actions sur champ
Action sur lobjet

Exercice 4 Menu dans barre de menu


Saisie fentre

Exercice 5 Bouton en bas dcran


Traitement standard
Locks logiques Locks physiques
Ecriture dans une trace

Exercice 6 Consultation des commandes standards

Exercice 7 Point dentre


Transaction de saisie

Exercice 8 Visualisation avec graphes

Exercice A Changement de style

Exercice B Texte traduit

Exercice C Liste gauche

Exercice D Consultation client

Copyright Sage 2011 Page 225


SAFE X3 DEVELOPPEMENT

Copyright Sage 2011 Page 226

You might also like