Vous êtes sur la page 1sur 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.
2.2.
2.3.
2.4.
2.5.

3.

ECRANS .................................................................................................................................................. 15
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.

4.

DEFINITION .............................................................................................................................................. 31

RESUME ................................................................................................................................................. 32
ONGLET ECRANS ...................................................................................................................................... 32
ONGLET BOUTONS/MENUS ........................................................................................................................ 32
ONGLET BOUTONS PREDEFINIS .................................................................................................................... 33
ONGLET BROWSER.................................................................................................................................... 33
EXERCICE : GESTION DES ARTICLES ................................................................................................................ 34

DEFINITION .............................................................................................................................................. 39

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


7.1.
7.2.
7.3.

8.

DEFINITION ............................................................................................................................................. 23
GESTION OBJET SIMPLE.............................................................................................................................. 23
GESTION TABLEAU .................................................................................................................................... 24
GESTION COMBINE.................................................................................................................................... 25
GESTION BROWSER ................................................................................................................................... 26
DICTIONNAIRE DES OBJETS .......................................................................................................................... 27
VALIDATION DUN OBJET ............................................................................................................................ 30

MENUS LOCAUX..................................................................................................................................... 39
6.1.

7.

RENSEIGNEMENT DES INFORMATIONS GENERALES ........................................................................................... 15


AGENCEMENT DES BLOCS ........................................................................................................................... 17
RENSEIGNEMENT DES CHAMPS .................................................................................................................... 18
CHAMPS SPECIAUX A PARAMETRER ............................................................................................................... 19
CONTRAINTE TECHNIQUE POUR LAPPEL DUN BLOC TABLEAU DEROULANTS .......................................................... 20

FENETRE ................................................................................................................................................. 31
5.1.
5.2.
5.3.
5.4.
5.5.
5.6.
5.7.

6.

DEFINITION .............................................................................................................................................. 15

OBJETS ................................................................................................................................................... 23
4.1.
4.2.
4.3.
4.4.
4.5.
4.6.
4.7.

5.

RESUME ................................................................................................................................................... 9
DESCRIPTION DETAILLE DES PARAMETRES DUNE TABLE :..................................................................................... 9
LES LIMITES ............................................................................................................................................. 13
ACTION BOUTON BAS DECRAN .................................................................................................................... 13
DES CHAMPS PARTICULIERS......................................................................................................................... 14

DEFINITION ............................................................................................................................................. 40
SAISIE DES DONNEES.................................................................................................................................. 40
GESTION DE TABLE DE DEPENDANCE ............................................................................................................. 41

VUES ...................................................................................................................................................... 42

Copyright Sage 2011

Page 3

SAFE X3 DEVELOPPEMENT

8.1.
8.2.
8.3.
9.

DEFINITION ............................................................................................................................................. 42
PARAMETRAGE DE LA VUE .......................................................................................................................... 42
STRUCTURE GENEREE EN VALIDATION ........................................................................................................... 44

CODES ACTIVITE ..................................................................................................................................... 46


9.1.
9.2.
9.3.
9.4.
9.5.
9.6.

10.

DEFINITION ............................................................................................................................................. 46
CODES ACTIVITES FONCTIONNELS STANDARDS................................................................................................. 46
CODES ACTIVITES DE DIMENSIONNEMENT....................................................................................................... 46
CODES ACTIVITES DE LOCALISATION............................................................................................................... 47
CODE ACTIVITES FONCTIONNELS SPECIFIQUES .................................................................................................. 47
PARTICULARITE DE LA DESACTIVATION PAR CODE ACTIVITE ................................................................................ 47
ACTIONS CHAMPS.............................................................................................................................. 49

10.1.
10.2.
10.3.
10.4.
10.5.
11.

DEFINITION ............................................................................................................................................. 49
APPEL DES ACTIONS SUR CHAMP .................................................................................................................. 50
LISTE DES ACTIONS SUR CHAMPS .................................................................................................................. 53
VARIABLES UTILISABLES POUR LES ACTIONS SUR CHAMPS .................................................................................. 59
ACTIONS STANDARD CAPITALISEES ................................................................................................................ 60
TYPES DE DONNEES ........................................................................................................................... 61

11.1.
11.2.
11.3.
11.4.
11.5.
11.6.
11.7.
11.8.
11.9.
11.10.
11.11.
12.
12.1.
12.2.
12.3.
12.4.
12.5.
12.6.
13.
13.1.
13.2.
13.3.
14.
14.1.
14.2.
14.3.
14.4.

DEFINITION ............................................................................................................................................. 61
DONNEES DE BASE .................................................................................................................................... 61
DONNEES STANDARDS ............................................................................................................................... 62
ACTIONS SUR CHAMP ................................................................................................................................ 62
ACTIONS SUR CHAMP POUR UN BLOC TABLEAU ............................................................................................... 62
TYPE DE DONNEES LIEES A LOBJET : .............................................................................................................. 63
TEXTE TRADUITS ....................................................................................................................................... 63
CLOB ET BLOB .......................................................................................................................................... 65
SYNTAXE DU FORMAT ................................................................................................................................ 65
POUR UNE ACTION : ORDRE DEXECUTION ................................................................................................. 68
EXERCICE : GESTION DES CLIENTS (GESTION SIMPLE).................................................................................... 69

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


DEFINITION ............................................................................................................................................. 75
UTILISATION DU MODELE OBJET ................................................................................................................... 77
GESTION TABLE DENTETE PLUS TABLE DE DETAIL ............................................................................................. 92
EXERCICE : GESTION DES COMMANDES (GESTION ENTETE - DETAIL) .................................................................... 98
GESTION DES BOUTONS/MENUS ............................................................................................................... 107
LES BROWSERS....................................................................................................................................... 109
ACTIONS .......................................................................................................................................... 115
DEFINITION ........................................................................................................................................... 115
INFORMATIONS GENERALES ...................................................................................................................... 116
RENSEIGNEMENT DES PARAMETRES ............................................................................................................ 117
MODELE SAISIE FENETRE ............................................................................................................ 120
DEFINITION ........................................................................................................................................... 120
PARAMETRAGE DE LACTION ..................................................................................................................... 120
ACTIONS SUR MODELE ............................................................................................................................. 121
GESTION DES BOUTONS/MENUS ................................................................................................................ 124

Copyright Sage 2011

Page 4

SAFE X3 DEVELOPPEMENT

14.5.
14.6.
15.
15.1.
15.2.
15.3.
15.4.

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


EXERCICE : MENU DANS GESTION COMMANDE ............................................................................................. 128
MODELE TRAITEMENT STANDARD ............................................................................................. 131
DEFINITION ........................................................................................................................................... 131
PARAMETRES ......................................................................................................................................... 132
ACTIONS SUR MODELES : MODE INTERACTIF ................................................................................................. 133
ACTION SUR MODELES : MODE BATCH ......................................................................................................... 138

16.

FONCTIONS ...................................................................................................................................... 142

17.

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

17.1.
17.2.
18.
18.1.
18.2.
18.3.
18.4.
19.
19.1.
19.2.
20.
20.1.
20.2.
20.3.
21.
21.1.
21.2.
21.3.
21.4.
21.5.
21.6.
21.1.
22.
22.1.
22.2.
23.
23.1.
23.2.
23.3.
23.4.
23.5.
23.6.
23.7.

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


ACTION UNIQUE TRT_DIV ....................................................................................................................... 144
MODELE HORS MODELE ............................................................................................................. 145
DEFINITION :.......................................................................................................................................... 145
PARAMETRE DU SOUS-PROGRAMME ........................................................................................................... 145
DECLARATION DU SOUS-PROGRAMME ........................................................................................................ 146
EXERCICE : CALCUL DE LEN-COMMANDE CLIENT EN BATCH ............................................................................. 148
MODELE SELECTION TABLE ........................................................................................................ 151
DEFINITION :.......................................................................................................................................... 151
ACTIONS SUR MODELE ............................................................................................................................. 152
MODELE SELECTION LISTE .......................................................................................................... 154
DEFINITION :.......................................................................................................................................... 154
ACTIONS SUR MODELES............................................................................................................................ 155
VARIABLES DISPONIBLES EN LECTURE :......................................................................................................... 157
MODELE CONSULTATION ........................................................................................................... 158
DEFINITION :.......................................................................................................................................... 158
FENETRE PRINCIPALE :.............................................................................................................................. 158
FENETRE DE CRITERES : ............................................................................................................................ 159
ELEMENTS COMPOSANT UNE CONSULTATION ............................................................................................... 159
PARAMETRES DUNE CONSULTATION .......................................................................................................... 160
ACTION SUR MODELE CONSULTATION ......................................................................................................... 162
EXERCICE CONSULTATION DES COMMANDES STANDARDS ................................................................................ 166
POINT DENTREE .............................................................................................................................. 168
REGLES DES POINTS DENTREE ................................................................................................................... 168
EXERCICE : GESTION DES COMMANDES STANDARD ........................................................................................ 169
ECRANS GRAPHIQUES ...................................................................................................................... 173
PRESENTATION GRAPHE SIMPLE ET MULTI .................................................................................................... 173
PARAMETRAGE....................................................................................................................................... 175
GANTT ................................................................................................................................................. 177
AGENDA ............................................................................................................................................... 179
PLANNING MENSUEL ............................................................................................................................... 181
COMPOSANTS GRAPHIQUES ...................................................................................................................... 184
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.
24.1.
25.
25.1.
25.2.
26.
26.1.
26.2.
26.3.
26.4.
26.5.

SPECIFIQUE ...................................................................................................................................... 209


REGLES GENERALES ................................................................................................................................. 209
CONCLUSION ................................................................................................................................... 217
THEMES ABORDES AU COURS DE CETTE FORMATION : ..................................................................................... 217
TABLEAU DES FORMATIONS....................................................................................................................... 218
EXERCICES COMPLEMENTAIRES ....................................................................................................... 219
EXERCICE A : CHANGEMENT DE STYLE (COMPLEMENT EX 1)............................................................................. 219
EXERCICE B : TEXTES TRADUITS EN GESTION ARTICLE (COMPLEMENT EX 1 ) ........................................................ 220
EXERCICE C : LISTES GAUCHES EN GESTION CLIENT (COMPLEMENT EX 2) ........................................................... 221
EXERCICE CONSULTATION CLIENT ............................................................................................................... 223
SUJETS ABORDES .................................................................................................................................... 225

Copyright Sage 2011

Page 6

SAFE X3 DEVELOPPEMENT

1. INTRODUCTION

Introduction

Dossier
Dossiermre
mre
Traitement
Traitementstandard
standard

Uniquement dans le dossier mre :


Tables :
systme X3
Sources :
SUB*, FUN*, IMP*,
Excutables : tout le standard
Etats :
tout le standard

Dossier
DossierFils
Fils
Traitement
Vertical
Traitement Vertical

Dossier vertical, spcifique :


Tables :
superviseur, dictionnaire, applicatives
Sources :
vertical / spcifique
Excutables : vertical / spcifique
Etats :
vertical / spcifique

Traitement
Traitementspcifique
spcifique

Copyright Sage 2009-2010

Safe X3 Dveloppement

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
Table

Types de donne
M. Locaux
T. Diverses
Codes activits

Objet

Fentre

Action : GOBJET

Fonction : GESxxx

Copyright Sage 2009-2010

crans

Traitement superviseur GOBJET


Traitement standard SUBxxx
Traitement vertical
SPVxxx
Traitement spcifique SPExxx

Safe X3 Dveloppement

Types de donne
M. Locaux
T. Diverses
Codes activits
Traitement standard SUBxxx
Traitement vertical
SPVxxx
Traitement spcifique SPExxx

Tous les lments que nous voyons ici sont rpertoris dans un dictionnaire X3, par exemple
le dictionnaire des tables, des crans etc
Ceci permet une classification, par lintermdiaire de leurs noms qui doit tre unique, ou de
leur module, ou de leur code activit. Par la suite, nous pouvons facilement retrouver un lment ou
un groupe en posant un filtre sur un browser, sur son nom par exemple ou en utilisant une slection
sur le module ou sur un code activit.
Tous ces lments peuvent tre protgs par un code activit sils sont modifis par un
dveloppement. Lobjet nest alors plus modifiable par intgration de patchs standards.

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 :
Objet graphique :

ACB
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 :
Objet graphique : photo

ABB

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
Listes
Listesdes
des
objets
objets
affichables
affichablessur
sur
slection
slection

Copyright Sage 2009-2010

Objet
Objeten
encours
coursde
degestion
gestion
Clef
Clefde
delenregistrement
lenregistrementdans
danslcran
lcrandentte
dentte
Listes
Listesdes
deschamps
champsregroups
regroupspar
paronglets
onglets
fonctionnels
fonctionnels

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
Listes
Listesdes
des
regroupements
regroupements
dobjets
dobjets
affichables
affichablessur
sur
slection
slection

Copyright Sage 2009-2010

Objets
Objetsen
encours
coursde
degestion
gestion
Clef
Clefde
delenregistrement
lenregistrementdans
danslcran
lcrandentte
dentteet
et
dans
un
champ
du
tableau.
dans un champ du tableau.
Listes
Listesdes
desenregistrement
enregistrementdu
dugroupe
groupedans
dansles
les
lignes
du
tableau.
lignes du tableau.

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

Traitement standard SUBxxx


Traitement vertical
SPVxxx
Traitement spcifique SPExxx

Traitement standard SUBxxx


Traitement vertical
SPVxxx
Traitement spcifique SPExxx

++ Boutons
Boutons/ /Menus
Menus

Copyright Sage 2009-2010

Table

Objets browser

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 :
Abrviation :
Module :

YITEMX
YIX
Tronc commun

Zone

Type de la zone

Longueur

Dimension

Intitul

YITMREF

Alphanumrique

20

Article

YITMDES

Alphanumrique

30

Intitul

YITMSHO

Alphanumrique

10

Intitul court

YUOM

UOM

Unit

YORDNOT

Dcimal

13.2

Prix de base

YVATRAT

Dcimal

3.2

Taux de taxe

Champ particulier

Numro export

Champ particulier

Oprateur cration

Champ particulier

Date cration

Champ particulier

Oprateur de modification

Champ particulier

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
Spcifique

160 - 169
5000 5199
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
Spcifique

1000 1999
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

Copyright Sage 2009-2010

Traitement capitalis

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


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

AV_zone

Init

initialisation de la zone
en cration seulement

D_zone

Avant_saisie

Copyright Sage 2009-2010

avant la saisie de la zone


ex : dsactiver lments menu local
conditionner la saisie

Affichage
AS_zone

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:
1:
2:

la zone sera saisissable,


la zone ne sera pas saisissable. Elle sera rinitialise,
la zone ne sera pas saisissable.

Pour supprimer des valeurs dun menu local.


Utilisez un type de donne MM.

Copyright Sage 2011

GMENLOC(n)=1

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
(i = 1 20)

A lactivation dun bouton


ex : traitement li au bouton

Bi_zone

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

Clic

Contexte dappel & emploi

Clic sur icne

Copyright Sage 2009-2010

Etiquette

CL_zone

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

char
int.

bouton standard slectionn


Indicateur traitement import

GBOUT1..20 (35)
GBOUTS (35) char
GBOUTA (35) char
GBOUTI (35) char

char
intitul bouton contextuel
intitul bouton slection
intitul bouton slection avance
intitul clic sur icne

GMESSAGE(250)
GERR
int.
GMENLOC(0..123)

char
message derreur, dinformation
Type message
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
N
D

affichage dune chane de caractres


affichage dun nombre
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#
K:XXXAA###
N:15.2
N:15#.2#

sont identiques

sont identiques

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

POUR UNE ACTION : ORDRE DEXECUTION

11.10.

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

EXERCICE : GESTION DES CLIENTS (GESTION SIMPLE)


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 :
Abrviation :
Taille :
Traitements associs :

YCX0
YCX0
En tte
SUBYCX
SPEYCX

standard
spcifique

Champ

Saisie

Oblig.

Particularits

YBPCNUM

Oui

Type de donne li lobjet

YBPCNAM

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

YARE

Copyright Sage 2011

Oblig.

Particularits

Dvelop.

Contrle / Slection / Tunnel / Proprits

Page 73

SAFE X3 DEVELOPPEMENT

Objet des clients


Code objet
:
Module :
Menu standard :
Rang dans menu :
Ecran de slection :

YCX
Tronc commun
MCOU
20
Ascendant
Client / Raison sociale / Prospect

Fentre des clients


Code fentre
Module :
Type fentre :
Affichage :
Objet :

11.11.3.

OYCX
Tronc commun
Objet
plein cran
YCX

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
Table

Types de donne
M. Locaux
T. Diverses
Codes activits

Objet

Fentre

crans

Unique

Action : GOBJET
Gnre

Fonction : GESxxx

Copyright Sage 2009-2010

Traitement superviseur GOBJET


Traitement standard SUBxxx
Traitement vertical
SPVxxx
Traitement spcifique SPExxx

Safe X3 Dveloppement

Types de donne
M. Locaux
T. Diverses
Codes activits
Traitement standard SUBxxx
Traitement vertical
SPVxxx
Traitement spcifique SPExxx

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

SUBxxx
SUBxxx

ANUCOD
ANUCOD
GOBJSUB
GOBJSUB

SPVxxx
SPVxxx

CHGCOD
CHGCOD

SPExxx
SPExxx
GOBJET1
GOBJET1
(simple)
(simple)
TABLEAUX
TABLEAUX
(dtail)
Copyright Sage(dtail)
2009-2010

GOBJET2
GOBJET2
(tableau)
(tableau)

GOBJET3
GOBJET3
(combin)
(combin)

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
ACTION==OUVRE
OUVRE
GPE
GPE==00
Gosub
GosubACTION
ACTIONFrom
FromSPExxx
SPExxx
IfIfGPV
GPV==00
Gosub
GosubACTION
ACTIONFrom
FromSPVxxx
SPVxxx
Endif
Endif

SPExxx

SPVxxx

IfIfGPE
GPE==00
Gosub
GosubACTION
ACTIONFrom
FromSUBxxx
SUBxxx
Endif
Endif

Superviseur

Copyright Sage 2009-2010

SUBxxx

Safe X3 Dveloppement

$ACTION
Case ACTION
When OUVRE : Gosub OUVRE
When default
Endcase
return
$ACTION
Case ACTION
When OUVRE : Gosub OUVRE
When default
Endcase
return
$ACTION
Case ACTION
When OUVRE : Gosub OUVRE
When default
Endcase
return
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

Copyright Sage 2011

Safe X3 Dveloppement

41

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
2
3
4
5
autre

enregistrement verrouill
(lecture)
cl suivante lue (lecture)
cl dj existante
(criture)
dbut/fin de fichier
(lecture)
pas denregistrement courant (lecture)
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
CREATION

aprs le chargement de la classe [F]


aprs lcriture de lenregistrement

Commit

APRES_CRE

aprs la transaction de mise jour

AB_CREATION

si abandon de la transaction

Copyright Sage 2009-2010

Copyright Sage 2011

Safe X3 Dveloppement

45

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
S
U

LIENS

aprs la lecture de lenregistrement

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 :
afficher un message :
Copyright Sage 2011

[L]OK=0
GMESSAGE
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

Copyright Sage 2009-2010

aprs la transaction de suppression

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

GESTION TABLE DENTETE PLUS TABLE DE DETAIL

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

Copyright Sage 2011

Safe X3 Dveloppement

48

Page 92

SAFE X3 DEVELOPPEMENT

Lexcution des actions se fait dans lordre suivant :


CREATION
DEFLIG
INICRE_LIG
VALLIG

excut 1 seule fois


``
pour chaque ligne dtail

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
U

LIENS_LIG

Copyright Sage 2009-2010

Copyright Sage 2011

gosub LIENS

From TABLEAUX

aprs le chargement de la classe [M] dtail


avant laffichage
sert : complter la classe [M] dtail
Safe X3 Dveloppement

49

Page 93

SAFE X3 DEVELOPPEMENT

Lexcution des actions se fait dans lordre suivant :


LIENS
DEFLIG
LIENS_LIG

excut 1 seule fois


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

VALLIG
Copyright Sage 2009-2010

Copyright Sage 2011

aprs r-criture enregistrement entte


aprs le chargement de la classe [F] dtail
avant r-criture enregistrement dtail
sert : complter la classe [F] dtail
appele aprs la r-criture
sert : traiter une autre table lie au dtail
Safe X3 Dveloppement

50

Page 94

SAFE X3 DEVELOPPEMENT

Lexcution des actions se fait dans lordre suivant :


MODIF
DEFLIG
INICRE_LIG
VALLIG

excut 1 seule fois


``
pour chaque cration ligne dtail

INIMOD_LIG
VALLIG
VALLIG

``

VALLIG

``

pour chaque modification ligne dtail


avant la rcriture
aprs la rcriture

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

Safe X3 Dveloppement

Copyright Sage 2009-2010

51

Lexcution des actions se fait dans lordre suivant :


ANNULE
DEFLIG
VALLIG

Copyright Sage 2011

``

excut 1 seule fois


pour chaque ligne dtail

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

EXERCICE : GESTION DES COMMANDES (GESTION ENTETE - DETAIL)


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 :
Abrviation :
Module :

YORDHEAX
YHX
Tronc commun

Zone

Type de la zone

Dim.

Particul.

Intitul

YORDNUM

Alphanumrique

15

oui

No commande

YFCY

Alphanumrique

Site

YBPCNUM

Alphanumrique

10

Client

YORDDAT

Date

Date

YBPALIG

Alphanumrique

35

Ligne adresse

YPOSCOD

Alphanumrique

10

Code postal

YCTY

Alphanumrique

30

Ville

YORDTOTNOT

Dcimal

13.2

En commande HT

YORDTOTATI

Dcimal

13.2

En commande

YHXSTA

Menu local

Solde

YDLVDAT

Date

Date livraison demande

YSHIDAT

Date

Date expdition

YMDL

Alphanumrique

Mode livraison

YBPTNUM

Alphanumrique

10

Transporteur

EXPNUM

Entier long

Numro export

CREUSR

Alphanumrique

Oprateur cration

CREDAT

Date

Date cration

UPDUSR

Alphanumrique

Oprateur modif

UPDDAT

Date

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 :
Abrviation :
Module :

YORDDETX
YDX
Tronc commun

Zone

Type de la zone

YORDNUM

Alphanumrique

15

Dim.
1

YORDLIN

Entier long

No ligne

YITMREF

Alphanumrique

20

Article

YUOM

Alphanumrique

Unit

YQTY

Dcimal

9.2

Quantit

YVATRAT

Dcimal

3.2

Taux Taxe

YORDNOT

Dcimal

13.2

Prix unitaire HT

YORDATI

Dcimal

13.2

Prix unitaire TTC

YDXSTA

Menu local

Solde

EXPNUM

Entier long

Numro export

CREUSR

Alphanumrique

Oprateur cration

CREDAT

Date

Date cration

UPDUSR

Alphanumrique

Oprateur modif.

UPDDAT

Date

Date modif

Index

Descripteur de lindex

Homonymes

YDX0

YORDNUM+YORDLIN

Non

Particul.
oui

Intitul
No commande

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 :
Abrviation :
Traitements associs :

Champ

Saisie

YORDNUM

YOX0
YOX0
SUBYOX
SPEYOX

Oblig.

standard
spcifique

Particularits

Dvelop.

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

YHXSTA

(Saisie :

Non saisissable en Cration

Oui

Contrler que la valeur saisie corresponde bien une


commande existante. Vous remarquerez que, de ce fait, on
interdit la duplication.

Oui

Case cocher

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
Mois
Anne
Site
Squence

3 caractres
2 caractres
2 caractres
5 caractres
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 :
Abrviation :
Traitements associs :

YOX1
YOX1
SUBYOX
SPEYOX

Champ

Saisie

Oblig.

YFCY

Oui

standard
spcifique

Particularits

Dvelop.

Contrle / Slection / Tunnel sur les sites standards


Affichage du libell court
Saisissable uniquement en cration

YBPCNUM

Oui

Oui

Contrle / Slection / Tunnel sur vos clients


Affichage du libell long
Filtre pour slection des clients non prospect

YORDDAT

Initialisation par la date du jour en cration

Oui

YBPALIG

Aliment par le client

Oui

YPOSCOD

Aliment par le client

Oui

Aliment par le client

Oui

YCTY

(Saisie :

Oui

S Saisie / A Affich / I Invisible)

Copyright Sage 2011

Page 102

SAFE X3 DEVELOPPEMENT

Onglet 2 lignes

Code cran :
Abrviation :
Traitements associs :

Champ

YOX2
YOX2
SUBYOX standard
SPEYOX
spcifique

Saisie

Oblig.

Particularits

YITMREF

Oui

Contrle / Slection / Tunnel sur vos articles

YUOM

Oui

Contrle / Slection / Tunnel sur les units standard


Aliment par larticle

Dvelop.

Oui

YQTY

Oui

Positif

YORDNOT

Oui

Aliment par larticle

Oui

YVATRAT

Aliment par larticle

Oui

Positif
YORDATI

Calculer partir du prix HT et la TVA

Oui

YORDTOTNOT

Cumul des lignes ( HT * QTE ) attention cette information ne


doit pas faire partie du tableau

Oui

YORDTOTATI

Cumul des lignes ( TTC * QTE ) attention cette information


ne doit pas faire partie du tableau

Oui

(Saisie :

S Saisie / A Affich / I Invisible)

Objet des commandes


Code objet

YOX

Fentre des commandes


Code fentre

Copyright Sage 2011

OYOX

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 :
Numro de ligne courante
Statut retour aprs opration sur table

variable systme date$


variable systme nolign-1
variable systme fstat

Dclaration dune variable caractre :


Dclaration dune variable numrique :

Local char nom_var


Local integer nom_var

Ouverture dune table :

Local File table [abrev]

Lecture :
Lecture locke :
Lecture sans rcupration enregistrement :
Mise jour dun enregistrement :

Read [abrev] index = champ


Readlock [abrev] index = champ
Look [abrev] index = champ
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)
[M: abrev]champ_ecr(1) = [F: abrev]champ_tab(1)

12.4.5.

pour un champ dimensionn

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
Copyright Sage 2009-2010

Aprs l excution du menu


le code menu est disponible dans la variable BOUT
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
Copyright Sage 2011

: # Adresse livraison
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.
12.6.1.

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

Types de donne
M. Locaux
T. Diverses
Codes activits

Objet

Fentre

Action

crans

Traitement standard
Traitement vertical
Traitement spcifique

Types de donne
M. Locaux
T. Diverses
Codes activits
Traitement standard
Traitement vertical
Traitement spcifique

Fonction

Copyright Sage 2009-2010

Copyright Sage 2011

Safe X3 Dveloppement

58

Page 115

SAFE X3 DEVELOPPEMENT

Actions

Action
Action

FONCTION
FONCTION
Menu
MenuX3
X3

Fentre
Fentre
crans

FENETRE
FENETRE

Objets browser

Traitement standard
++ Boutons
/ /Menus
Traitement
Boutonsvertical
Menus
Traitement spcifique

bouton
bouton/ /menu
menu

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
Copyright Sage 2011

PARAM(1) = valeur 1er param.


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
GOBJETA
GOBJETC
GOBJETN

avec zone courante


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

Contrle particulier sur champ cl li objet :


CONTOBJW
CONTOBJN

vite le contrle dexistence, valeur obligatoire


vite le contrle dexistence, valeur facultative

Slection enregistrement dune table gre par objet :


SELOBJW
SELOBJAW

slection avec possibilit dappliquer les filtres de slection.


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
TITRE

dbut traitement
avant louverture de la fentre

DEBUT

avant la saisie de la fentre

APRES_MODIF aprs la modification de chaque champ

FIN
FINSAI

aprs la saisie de la fentre


fin de traitement

ABANDON

en cas dabandon

Copyright Sage 2009-2010

14.3.1.

Safe X3 Dveloppement

61

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
[L]ACTION=="APRES_MODIF"
"APRES_MODIF"
Gosub
GosubACTION
ACTION

cinmatique
sur champ

traitement SUBxxx ou SPExxx

$ACTION
$ACTION
Case
Case[L]ACTION
[L]ACTION
When
When"APRES_MODIF"
"APRES_MODIF": :Gosub
GosubAPRES_MODIF
APRES_MODIF
When
default
When default
Endcase
Endcase
Return
Return
$$APRES_MODIF
APRES_MODIF

REP=
REP=MM
return
return
Copyright Sage 2009-2010

Copyright Sage 2011

Safe X3 Dveloppement

62

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 :
valeur du champ courant :
indice du champ courant :

zoncou
zc
indice

variables locales utilisables :


nom du champ courant :
valeur du champ courant :
indice du champ courant :

COUZON
CZ
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 :

14.3.6.

Nolign= SVNOLIGN

FINSAI

Action lance en fin de traitement


Sert :
Rafrachir la fentre dappel :

Copyright Sage 2011

NBAFF= 1

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

Copyright Sage 2009-2010

Aprs l excution du bouton


pour sortir de la fentre FIN=1
(sortie automatique pour bouton OK et FIN

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

Aprs l excution du bouton

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

Aprs l excution du menu

MEN

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

GESTION DES BROWSERS


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

EXERCICE : MENU DANS GESTION COMMANDE


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

Champ

spcifique

Saisie

Oblig.

YDLVDAT

Non

Particularits
Date de livraison demande

YSHIDAT

Non

Date dexpdition
Elle doit tre infrieure ou gale la date de livraison
demande.

YMDL

Non

Dvelop.

Oui

Mode de livraison
Contrle / Slection / Tunnel
Affichage du libell long

YBPTNUM

Non

Transporteur
Contrle / Slection / Tunnel
Affichage du libell long

Copyright Sage 2011

Page 128

SAFE X3 DEVELOPPEMENT

La fentre XLIV

Code fentre :
Boutons bas dcran :

XLIV
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

Action

Fonction

Tche

Fentre
critres

crans

Traitement standard
Traitement vertical
Traitement spcifique

Fentre
Principale

crans

Traitement standard
Traitement vertical
Traitement spcifique

Traitement superviseur GTRAITE


Traitement standard
Traitement spcifique
Soumission en batch

BATCH
Abonnement
Copyright Sage 2009-2010

Copyright Sage 2011

Lancement automatique
avec priodicit
Safe X3 Dveloppement

68

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

Retour saisie

Traitement standard : en interactif


INIT
AVANT_PAR
INIT_DIA

dbut traitement
avant louverture de la fentre critre
seulement pour une boite de dialogue
avant laffichage de cette fentre

CONTROLE

aprs la saisie de cette fentre

EXEC
TERMINE

une fois les contrles OK


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 :
Copyright Sage 2011

TIT = titre
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 :

Copyright Sage 2011

TYPPRG = 0

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 :
message dattente :

TMP = 1
TIT = x

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

TIT :

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 :
retourner en saisie paramtres
aprs excution de ce traitement :

TRA = 1 ou 9
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.
15.4.1.

ACTION SUR MODELES : MODE BATCH


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
AVANT_PAR
INIT_DIA

dbut traitement
avant louverture de la fentre critre
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
Copyright Sage 2009-2010

fin de traitement
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
Traitement
Traitementspcifique
spcifique

bouton
bouton/ /menu
menu

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

EXERCICE : CALCUL DE LEN-COMMANDE CLIENT EN BATCH


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


Cration dune fentre
Cration dune action
Cration dune fonction
Cration du traitement

YEX
YEX
YEX
YEX
YEX

Pour ce faire, utiliser les descriptions ci-dessous.

Ecran de slection
Code cran :
YEX
Abrviation :
YEX
Traitements associs: YEX

Champ
YBPCNUMD

Saisie

Oblig.

non

Particularits

Dvelop.

Fentre de slection sur vos clients


Pas de contrle dexistence de la valeur, et champ vide
autoris (action CONTOBJN)

YBPCNUMF

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

19.2.1.

Safe X3 Dveloppement

79

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 :
Affzo [M]

[M]champ = [F]champ

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

Copyright Sage 2011

mkstat=99

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 :
Affzo [M]

[M]champ = [F]champ

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

Copyright Sage 2011

mkstat=99

Page 156

SAFE X3 DEVELOPPEMENT

20.3.
[V]GACTION

VARIABLES DISPONIBLES EN LECTURE :


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
[L]LISTE
[L]TRAIT

Identification action sel. table


Identification action sel. liste
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
FONCTION
Menu
MenuX3
X3

Consultation
Consultation
Fentre
Fentreprincipale
principale

FENETRE
FENETRE

bouton
bouton/ /menu
menu

ECRAN
ECRAN
champ
champ
TYPE
TYPE
DONNEE
DONNEE

crans
++ Boutons
Boutons/ /Menus
Menus

Fentre
Fentrede
decritres
critres
cran
++ Boutons
Boutons/ /Menus
Menus
Traitement superviseur GCONSULT
Traitement standard
Traitement spcifique

Copyright Sage 2009-2010

Copyright Sage 2011

Safe X3 Dveloppement

83

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

PARAMETRES DUNE CONSULTATION


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
OUVRE

En tout dbut de modle, sert grer les droits


Permet louverture des tables et des mask

LECTURE
FILTRE
uniquement

Quand on lance la recherche


Depuis l'action de lecture, pour le spcifique

Copyright Sage 2009-2010

21.6.1.

Safe X3 Dveloppement

84

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

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

CHARGMT :
dfaut.

recherche dclenche ds l'entre dans la consultation ( 0 oui / 1 non ). oui, par

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 :

MAXLIG :

identifie l'action qui a dclench la lecture


1 < Recherche >
2 < Suite >
3 < Rafraichissement >
- 1 < Dernier >
- 2 < Retour >
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 :

21.6.4.

permet de dsactiver le bouton < Retour >

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


REGLES DES POINTS DENTREE

22.1.

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

EXERCICE : GESTION DES COMMANDES STANDARD


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

libells

Safe X3 Dveloppement

88

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

libells

Safe X3 Dveloppement

89

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 Multigraphe

Axes danalyse

Copyright Sage 2009-2010

libells

Safe X3 Dveloppement

90

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

Copyright Sage 2009-2010

Nom

Date interne

Safe X3 Dveloppement

Dure D affiche Type jour

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

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

Copyright Sage 2011

AMAJPLAN par dfaut (programme livr)


possibilit davoir un autre traitement
Doit obligatoirement appeler le sous-programme MAJPLAN
Doit obligatoirement avoir les paramtres identiques au sousprogramme MAJPLAN de AMAJPLAN
Doit tre dclar dans le dictionnaire des sous-programmes

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

NOMENCLATURE HORIZONTALE
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

Copyright Sage 2009-2010

100

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

RADAR
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.
23.11.1.

BROWSER
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.
23.12.1.

BUREAUTIQUE
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.
23.13.1.

METHODES JAVASCRIPT
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.
23.15.1.
>

VUE PORTAIL
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.
23.16.1.

EXERCICE : CONSULTATION DES COMMANDES


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


Cration de 2 onglets
Cration dune action
Cration dune fonction
Cration du traitement

YGX1
YGX2, YGX3
YGX
YGX
YGX

Pour ce faire, utiliser les descriptions ci-dessous.

Ecran dentte
Saisie de bornes article.
Champ
YITMREFD

Saisie

Oblig.

non

Particularits

Dvelop.

Fentre de slection sur vos articles


Pas de contrle dexistence de la valeur

YITMREFF

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

NBLIG

Saisie

Spcifique

Tunnel sur la fiche article

Dvelop.

YITMREF

Article

Aliment par la rfrence article

Oui

YQTY

Quantit

Aliment par la quantit

Oui

YORDNOT

Prix HT

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

NBLIG

Saisie

Spcifique

Tunnel sur la fiche article

Dvelop.

YITMREF

Article

Aliment par la rfrence article

Oui

YITMDES

Nom

Aliment par la dsignation article

Oui

YCRIT1

Janvier

Aliment par la quantit

Oui

Dcembre

Aliment par la quantit

Oui

YCRIT12

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

REGLES GENERALES
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
SPE

action verticale
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 :

24.1.5.

SPE+objet
SPV+objet

pour traitement vertical

Consultation :

CNS+consultation+SPE

Traitement standard
Saisie fentre :
Slection table :
Slection liste :
Affichage divers :
Etat :
Import / export :

Xxxx, Yxxx, Zxxx

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
W0+cran
W1..9+cran
WO + objet
WG + fentre
WWCNS + cons.
WWINI + abrv.
WWI + compteur
WWE + compteur
WWGLOBLON
WWGLOBVAR
WWGLOB + chap

Copyright Sage 2011

Intituls
Traitement d'import d'un cran
Traitements d'un cran
Traitement d'un objet
Traitement d'une fentre
Traitement d'une consultation
Traitements d'initialisation d'une table
Traitement d'import
Traitement dexport
Var. glob. lies aux types de donnes alphanumriques
Variables globales lies aux paramtres
Variables globales lies aux paramtres par chapitre

Page 211

SAFE X3 DEVELOPPEMENT

24.1.7.

Limites des composants dictionnaires

Elments
Nombre donglets
Nombre de browsers
Nombre de boutons sur champs
Nombre de boutons et menus
Nombre doptions dans les fonctions
Nombre doptions dans les objets
Textes de la table ATEXTE

Total
15
9
20
60
8
9

Standard
10
6
16

1 49 999

Spcifique
5
3
4
minuscules
minuscules
minuscules
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
6000 6199

Spcifique

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
Texte traduit court

26.2.2.

YDESTRA
YSHOTRA

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
YC2

Liste des prospects, en ne proposant que les prospects


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

26.3.2.

Liste compose des champs YARE et YBPCNUM.

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

YTRI

Oblig.

Menu local

YORDTOTNOT

DCB

YARE

Type ADI

YTRI doit contenir les 3 possibilits :

Particularits

Aucun tri
Secteur gographique
Total HT

Ecran dtail
Champ

Saisie

Oblig.

Particularits

YBPCNUM

Type de donnes YCX

YORDDAT

Date dernire commande

YORDTOTNOT

DCB

YORDTOTATI

DCB

YARE

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