226
7/21/2019 Sage ERP X3 development http://slidepdf.com/reader/full/sage-erp-x3-development 1/226  Support de formation Safe X3 Développement Version 6

Sage ERP X3 development

  • Upload
    stuplja

  • View
    1.547

  • Download
    199

Embed Size (px)

DESCRIPTION

Sage ERP X3 development on french

Citation preview

Page 1: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 1/226

 

Support de formation

Safe X3 

DéveloppementVersion 6

Page 2: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 2/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 2

PRE REQUIS

Pour accéder à cette formation, vous devez avoir au préalable :

- A suivre impérativement la formation Overview Développeur

Page 3: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 3/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 3

SOMMAIRE 

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

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

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

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

2.2.  DESCRIPTION DETAILLE DES PARAMETRES D’UNE TABLE : .............................................................. ....................... 9 

2.3.  LES LIMITES  ............................................................................................................................................. 13 

2.4.  ACTION BOUTON BAS D’ECRAN .................................................................................................................... 13 

2.5.  DES CHAMPS PARTICULIERS ......................................................... ................................................................ 14 

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

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

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

3.3.  AGENCEMENT DES BLOCS ........................................................................................................................... 17 

3.4.  RENSEIGNEMENT DES CHAMPS .................................................................................................................... 18 

3.5.  CHAMPS SPECIAUX A PARAMETRER .......................................................... ..................................................... 19 

3.6.  CONTRAINTE TECHNIQUE POUR L’APPEL D’UN BLOC TABLEAU DEROULANTS .......................................................... 20 

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

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

4.2.  GESTION OBJET SIMPLE.............................................................................................................................. 23 

4.3.  GESTION TABLEAU .................................................................................................................................... 24 4.4.  GESTION COMBINE ......................................................... ................................................................. .......... 25 

4.5.  GESTION BROWSER ................................................................................................................................... 26 

4.6.  DICTIONNAIRE DES OBJETS .......................................................................................................................... 27 

4.7.  VALIDATION D’UN OBJET ............................................................................................................................ 30 

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

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

5.2.  RESUME  ................................................................................................................................................. 32 

5.3.  ONGLET ECRANS  ...................................................................................................................................... 32 

5.4.  ONGLET BOUTONS/MENUS ........................................................................................................................ 32 

5.5.  ONGLET BOUTONS PREDEFINIS .................................................................................................................... 33 5.6.  ONGLET BROWSER ......................................................... ................................................................. .......... 33 

5.7.  EXERCICE : GESTION DES ARTICLES ........................................................... ..................................................... 34 

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

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

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

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

7.2.  SAISIE DES DONNEES ....................................................... ................................................................. .......... 40 

7.3.  GESTION DE TABLE DE DEPENDANCE ............................................................................................................. 41 

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

Page 4: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 4/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 4

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

8.2.  PARAMETRAGE DE LA VUE .......................................................................................................................... 42 

8.3.  STRUCTURE GENEREE EN VALIDATION  ........................................................................................................... 44 

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

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

9.2.  CODES ACTIVITES FONCTIONNELS STANDARDS ................................................................. ................................ 46 

9.3.  CODES ACTIVITES DE DIMENSIONNEMENT ............................................................ ........................................... 46 

9.4.  CODES ACTIVITES DE LOCALISATION .......................................................... ..................................................... 47 

9.5.  CODE ACTIVITES FONCTIONNELS SPECIFIQUES ....................................................... ........................................... 47 

9.6.  PARTICULARITE DE LA DESACTIVATION PAR CODE ACTIVITE ................................................................................ 47 

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

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

10.2.  APPEL DES ACTIONS SUR CHAMP .................................................................................................................. 50 

10.3.  LISTE DES ACTIONS SUR CHAMPS .................................................................................................................. 53 10.4.  VARIABLES UTILISABLES POUR LES ACTIONS SUR CHAMPS .................................................................................. 59 

10.5.  ACTIONS STANDARD CAPITALISEES ........................................................... ..................................................... 60 

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

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

11.2.  DONNEES DE BASE .................................................................................................................................... 61 

11.3.  DONNEES STANDARDS ............................................................................................................................... 62 

11.4.  ACTIONS SUR CHAMP  ................................................................................................................................ 62 

11.5.  ACTIONS SUR CHAMP POUR UN BLOC TABLEAU ............................................................................................... 62 

11.6.  TYPE DE DONNEES LIEES A L’OBJET : ......................................................... ..................................................... 63 

11.7.  TEXTE TRADUITS ....................................................................................................................................... 63 11.8.  CLOB ET BLOB .......................................................................................................................................... 65 

11.9.  SYNTAXE DU FORMAT ................................................................................................................................ 65 

11.10.  POUR UNE ACTION : ORDRE D’EXECUTION ................................................................................................. 68 

11.11.  EXERCICE : GESTION DES CLIENTS (GESTION SIMPLE) ............................................................... ..................... 69 

12.  MODELE « OBJET » ............................................................................................................................ 75 

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

12.2.  UTILISATION DU MODELE OBJET ................................................................................................................... 77 

12.3.  GESTION TABLE D’ENTETE PLUS TABLE DE DETAIL ............................................................................................. 92 

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

12.5.  GESTION DES BOUTONS/MENUS ............................................................................................................... 107 

12.6.  LES BROWSERS .............................................................. ................................................................. ........ 109 

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

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

13.2.  INFORMATIONS GENERALES ...................................................................................................................... 116 

13.3.  RENSEIGNEMENT DES PARAMETRES ............................................................................................................ 117 

14.  MODELE « SAISIE FENETRE » ............................................................................................................ 120 

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

14.2.  PARAMETRAGE DE L’ACTION ..................................................................................................................... 120 

14.3.  ACTIONS SUR MODELE ............................................................................................................................. 121 

14.4.  GESTION DES BOUTONS/MENUS ................................................................................................................ 124 

Page 5: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 5/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 5

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

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

15.  MODELE « TRAITEMENT STANDARD » ............................................................................................. 131 

15.1.  DEFINITION ........................................................................................................................................... 131 

15.2.  PARAMETRES ......................................................................................................................................... 132 

15.3.  ACTIONS SUR MODELES : MODE INTERACTIF ................................................................................................. 133 

15.4.  ACTION SUR MODELES : MODE BATCH ......................................................................................................... 138 

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

17.  MODELE « AFFICHAGE DIVERS » ...................................................................................................... 144 

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

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

18.  MODELE « HORS MODELE » ............................................................................................................. 145 

18.1.  DEFINITION : ...................................................... ................................................................. ................... 145 18.2.  PARAMETRE DU SOUS-PROGRAMME ........................................................ ................................................... 145 

18.3.  DECLARATION DU SOUS-PROGRAMME ........................................................................................................ 146 

18.4.  EXERCICE : CALCUL DE L’EN-COMMANDE CLIENT EN BATCH ............................................................................. 148 

19.  MODELE « SELECTION TABLE » ........................................................................................................ 151 

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

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

20.  MODELE « SELECTION LISTE » .......................................................................................................... 154 

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

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

21.  MODELE « CONSULTATION » ........................................................................................................... 158 

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

21.2.  FENETRE PRINCIPALE :.............................................................................................................................. 158 

21.3.  FENETRE DE CRITERES : ............................................................................................................................ 159 

21.4.  ELEMENTS COMPOSANT UNE CONSULTATION ............................................................................................... 159 

21.5.  PARAMETRES D’UNE CONSULTATION .......................................................................................................... 160 

21.6.  ACTION SUR MODELE CONSULTATION ......................................................................................................... 162 

21.1.  EXERCICE CONSULTATION DES COMMANDES STANDARDS ............................................................. ................... 166 

22.  POINT D’ENTREE .............................................................................................................................. 168 

22.1.  REGLES DES POINTS D’ENTREE ................................................................................................................... 168 

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

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

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

23.2.  PARAMETRAGE .............................................................. ................................................................. ........ 175 

23.3.  GANTT  ................................................................................................................................................. 177 

23.4.  AGENDA ............................................................................................................................................... 179 

23.5.  PLANNING MENSUEL ............................................................................................................................... 181 

23.6.  COMPOSANTS GRAPHIQUES ...................................................................................................................... 184 

23.7.  PLANNING ANNUEL ................................................................................................................................. 185 

Page 6: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 6/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 6

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

23.9.  NOMENCLATURE VERTICALE ........................................................ .............................................................. 190 

23.10.  RADAR ............................................................................................................................................. 193 

23.11.  BROWSER ......................................................................................................................................... 195 

23.12.  BUREAUTIQUE ................................................................................................................................... 196 

23.13.  METHODES JAVASCRIPT ....................................................................................................................... 199 

23.14.  EDITEUR HTML ................................................................................................................................. 201 

23.15.  VUE PORTAIL ..................................................................................................................................... 202 

23.16.  EXERCICE : CONSULTATION DES COMMANDES .......................................................................................... 203 

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

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

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

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

25.2.  TABLEAU DES FORMATIONS....................................................................................................................... 218 26.  EXERCICES COMPLEMENTAIRES ....................................................................................................... 219 

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

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

26.3.  EXERCICE C : LISTES GAUCHES EN GESTION CLIENT (COMPLEMENT EX 2) ........................................................... 221 

26.4.  EXERCICE CONSULTATION CLIENT ............................................................................................................... 223 

26.5.  SUJETS ABORDES  .................................................................................................................................... 225 

Page 7: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 7/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 7

1. INTRODUCTION 

Le fonctionnement des traitements X3 est basé sur le principe d‟héritage des dossiers. Ainsi tous leséléments de type tables, traitements et états d‟un dossier parent sont accessibles par le dossier fils(applicatif). Les traitements, les tables et les états standards sont tous présents dans le dossier mèreX3, ils permettent le bon fonctionnement de tous les dossiers fils et ne doivent en aucun cas êtremodifiés ou déplacés.

Dossier mèreTraitement standard

Dossier mèreTraitement standard

Uniquement dans le dossier mère : – Tables : système X3 – Sources : SUB*, FUN*, IMP*, … – Exécutables : tout le standard – Etats : tout le standard

Introduction

Dossier FilsTraitement Vertical

Traitement spécifique

Dossier FilsTraitement Vertical

Traitement spécifique

Dossier vertical, spécifique : – Tables : superviseur, dictionnaire, applicatives – Sources : vertical / spécifique – Exécutables : vertical / spécifique – Etats : vertical / spécifique

Copyright © Sage 2009-2010 4Safe X3 Développement

Page 8: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 8/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 8

Tous les éléments que nous voyons ici sont répertoriés dans un dictionnaire X3, par exemplele dictionnaire des tables, des écrans etc… 

Ceci permet une classification, par l‟intermédiaire de leurs noms qui doit être unique, ou deleur module, ou de leur code activité. Par la suite, nous pouvons facilement retrouver un élément ouun groupe en posant un filtre sur un browser, sur son nom par exemple ou en utilisant une sélectionsur le module ou sur un code activité.

Tous ces éléments peuvent être protégés par un code activité s‟ils sont modifiés par undéveloppement. L‟objet n‟est alors plus modifiable par intégration de patchs standards. 

Introduction

Écrans

Objet

Table

Traitement superviseur GO J T

Traitement standard SU xxx

Traitement vertical SPVxxx

Traitement spécifique SP xxx

Types de donnée

Traitement standard SU xxx

Traitement vertical SPVxxx

Traitement spécifique SP xxx

Fenêtre

Action : GOBJET

Fonction : GESxxx

M. Locaux

T. Diverses

Codes activités

Types de donnée

M. Locaux

T. Diverses

Codes activités

Copyright © Sage 2009-2010 5Safe X3 Développement

Page 9: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 9/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 9

2. TABLES 

2.1. RESUME 

>

  Description général de la tableCode et abréviation unique de la table.Code activité pour les tables spécifiques.

>  Renseignements des champs de la table dans le dictionnaireCode du champ unique dans toute la table.Code activité s‟il s‟agit d‟un champ spécifique dans une table standard. Liaison avec une autre table X3.Obligatoire ou non.Options descendues au niveau des écrans.

>  Création des indexPremier index sans homonyme de nom « abréviation de la table+0 »

Des index spécifiques peuvent être créés pour améliorer les performances deparcours des tables.Ils sont appelés « abréviation de la table+n » et tagués par code activité

>  AuditPermet de tracer les modifications d‟une table. 

2.2. DESCRIPTION DETAILLE DES PARAMETRES D’UNE TABLE 

2.2.1.Onglet « Général »

Champs « Code » et « Abréviation » :Comme pour tous les éléments stockés dans les dictionnaires, les noms des tables superviseurs(moteur) commencent par la lettre « A ». Ces tables ne doivent pas être modifiées. Les noms destables spécifiques doivent commencer par X, Y ou Z.

X : pour les verticauxY : pour les spécifiques distributeursZ : pour les spécifiques clients

Idem pour les « Abréviations » : Axx / X,Y,Zxx table superviseur / table spécifique

Champ « Code Activité » :Même préfixe : X,Y,Zxx

Ceci permet au superviseur d‟identifier une table créée ou modifiée en spécifique.

Champs « Intitulé » :Renseignement des champs d‟intitulé long et court pour les traitements superviseurs.Ceci permet l‟affichage automatique de cet intitulé dans les écrans.

Pour l‟affichage de l‟intitulé long/court, la norme est la suivante :

Pour l‟intitulé long, prendre le type de donnée :

DES (long 30) texte non soumis à la traduction AX3 (long 30) texte traduisible

Pour l‟intitulé court, prendre le type de donnée :

Page 10: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 10/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 10

SHO (long 10) texte non soumis à la traduction AX1 (long 12) texte traduisible

Champ « Module » :Il définit le module d‟une table.

Lors de l‟installation d‟une solution, nous pouvons activer les éléments associés au module. Cecipermet par exemple de désactiver la gestion des stocks si les utilisateurs n‟en ont pas besoin. Puisque les modules peuvent être désactivés dans un dossier client, il est nécessaire d'avoir unecohérence dans l'affectation du module aux tables.

Règle d‟affectation des modules :Un élément dictionnaire ne peut contenir que des éléments de module identique ouOBLIGATOIREMENT installé (module obligatoire ou présent du fait de la dépendance).Par exemple, un écran du module Ventes, ne peut contenir que des actions Ventes, Superviseur ouTronc commun, mais en aucun cas, des actions de modules Support client CRM, Achat ...Les modules techniques Superviseur et Tronc commun sont SYSTEMATIQUEMENT installés, dansun dossier client.

Champ « Type de base » :Le « Type de base » est par défaut celui du dossier.

Champ « Nombre de fiches » :Il permet de dimensionner la taille de la table à créer.

Champ « Format 130 » :Donne l‟accès à un dossier en version 130. 

Champ « Génération textes traduisibles » :Si la case est cochée alors il y a génération d‟un fichier plat exploitable ensuite dans Crystal par lafonction X3TranslatedText  (affichage de texte dans une langue donnée).Sinon, pour obtenir un texte traduit, il sera nécessaire d‟utiliser la vue AVWTEXTRA.

Champ « Remise à zéro » :Si la case est cochée alors la table sera effacée par l‟utilitaire de remise à zéro du dossier.

Champ « Accès non sécurisé » :Si la case est cochée alors tous les dossiers peuvent accéder à cette table en lecture écriture.Sinon seuls les dossiers autorisés peuvent y accéder (onglet « Liens » dans la fiche dossier)

Champ « Type de table » :Liste des types de tables :

 Applicatif,Superviseur,Système X3 (dossier mère),Dictionnaire,Interne (non livré).

Pour des tables spécifiques, la valeur « Applicatif » doit être choisie.

Champ « Type de copie » :Est utilisé à l‟initialisation du dossier fille.

Champ « Type livraison » :Interne Adonix, ne doit pas être modifié.

Page 11: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 11/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 11

2.2.2.Onglet « Champ »

Champ « Nom » :X, Y, Zxxxxxxx pour le spécifique (voir la fonction de codification).

Libellés :Descriptif du champ, numéro stocké dans la table ATABZON. Texte stocké dans la table ATEXTE.

Code activité :Permet d‟identifier  un champ modifié en spécifique dans une table standard.

Options :Sélection en fonction du type interne (centré, positif, non nul…). 

Table liée :Cette information garantit l‟intégrité de la base de données (annulation, Changement de code,épuration), il s‟agit de la table correspondant à la clef étrangère. 

Expression de lien :Si la table liée à une clé primaire a plusieurs composantes, toutes les composantes doivent êtredécrites dans ce champ. Le lien indiqué sera sous la forme : composant1;composant2;… 

Code annulation : Action automatique engendrée par l‟annulation d‟un enregistrement dans la table liée.

Raz :Le champ sera effacé par l‟utilitaire de remise à zéro du dossier.

2.2.3.Onglet « Index »

Clé primaire :La clé primaire est le 1er index saisi. Elle doit être unique, et obligatoirement renseignée. Elle

se nomme par convention « abréviation de la table » + 0, les autres clefs sont nommées de 1 en 1.

Descripteur :Contient 1 ou plusieurs champs non indicés+champ : tri en ascendant sur ce champ-champ : tri en descendant sur ce champRemarque : le 1er champ est sans signe et est forcément ascendantLes descripteurs doivent être distincts (champs et sens)

Code activité :Permet de définir une clé spécifique

Fichier de configuration :Non renseigné par le standard. Il permet à l'utilisateur d'avoir la main sur l'instruction Create

Table.

Page 12: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 12/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 12

2.2.4.Possibilité d‟audité la table. 

Cet outil permet de tracer les connexions / déconnexions, création, modification, suppressiond‟enregistrement. 

Paramétrage :Onglet réservé au spécifique (paramétrage)Onglet optionnel (Code activité AUDIT)Stockage de ce paramétrage (ATABLE, ATABAUD)

Stockage des résultats :Tables ALOGIN, AUDITH, AUDITL

Résultat audit : Affichage systématique des créations et suppressions d‟enregistrement.  Affichage des enregistrements dont les champs modifiés correspond au paramétrage.

Page 13: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 13/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 13

2.3. LES LIMITES 

Concernant la clé :15 index16 champs par index

250 caractères par index

Concernant l'enregistrement :Sous SQL, la limite est de 8060 octetsSous Oracle, il n'y a pas de limite; mais sous Adonix, on a fixé la limite à 32K

limité à 255 champs par tablelimité à 512 colonnes ( champ1*dimension1 + champ2*dimension2 + ... +

champN*dimensionN )limité soit à un champ de type blob ou clob, la taille totale de l‟enregistrement est limité e à

2Go.Soit à plusieurs champs, mais dans ce cas, la taille totale de l‟enregistrement est limitée à 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 D’ECRAN 

Enregistrer, Créer :Enregistrement ou création de la table dans le dictionnaire X3. Attention, après une action de cetype, l‟objet n‟est pas présent ou modifié dans la base de données. 

Validation :Enregistrement ou création de la table dans la base de données. Création dans le répertoire

« nom_dossier\FIL » des fichiers .srf .fde .cfg.

Traitement :Création d‟un traitement temporaire WWINIxxx ( xxx = abréviation de la table )  exécuté à la

validation de la table pour initialiser des champs. Ce traitement sera effacé dès la validation terminéeet la fenêtre de la table quittée, pour ne pas lancer l‟initialisation à chaque validation de table. 

Copie :Copie de la description de la table dans le dictionnaire d‟un autre dossier une validation de la

table sera nécessaire ; les données ne sont pas copiées. Si l‟élément  existe déjà dans le dossierrécepteur, un message d‟avertissement est affiché et le choix est donné à l‟utilisateur  de poursuivre oud‟arrêter . La copie se fait sur un dossier de même machine et même port par défaut.La copie peut se faire sur un dossier d‟une autre machine, d‟un autre port, par la syntaxe suivante :machine:port@dossier

RAZ :Effacement des données, le bouton est actif même si le flag « remise à zéro » pour cette table

n‟est pas positionné. Attention, aucun contrôle de cohérence.

Supprimer :Supprime la table de la base de données, *.srf, *.fde et la description dans le dictionnaire.

Page 14: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 14/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 14

2.5. DES CHAMPS PARTICULIERS 

Si besoin de :stocker utilisateur et date de création et modification.faire des exports sur les enregistrements modifiés ou créés depuis le dernier export.

 Alors la liste de champs ci-dessous peut être utilisée :

Ceux-ci sont à déclarer dans la table, mais pas nécessairement dans l‟écran. Les traitements superviseur (moteur) alimentent automatiquement ces champs.Ces champs ne sont utilisables que sur une gestion de type objet.

CREDAT & UPDDATInformations alimentées par la date systèmervtst0l

Page 15: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 15/226

Page 16: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 16/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 16

CODE ACTIVITE :Sur les blocs de type tableau, la dimension du code activité détermine le nombre de lignes

LIGNE :Sur les blocs de type tableau. C‟est le nombre de lignes. 

OPTION :Sur les blocs de type tableau

BAS DE PAGE :Contient le nom d‟une variable technique stockant le nombre de lignes réellement saisies. Elle

est définie dans l‟onglet des champs de type numérique non affichée avec le type de données ABS.

TABLES DE REFERENCES :Permet d‟aller chercher les champs à afficher à l‟écran directement dans la base de données. 

Page 17: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 17/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 17

3.3. AGENCEMENT DES BLOCS 

Position de chaque bloc :Les blocs sont positionnés par les coordonnées (ligne,

 

Page 18: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 18/226

Page 19: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 19/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 19

3.5. CHAMPS SPECIAUX A PARAMETRER 

3.5.1.Clob :

Type de donnée : ACB

Objet graphique : texte multi-lignes

Paramètres :Le nombre de lignes affiché pour le clob.Le nombre de colonnes affiché pour le clob.Le type de texte : rtf, txt, indéterminé. Si le type de texte est indéterminé, en saisie du texte,l‟utilisateur pourra choisir entre texte enrichi et texte brut.

 A l‟exécution, « format » dans la barre de menu pour définir :La policeLes attributs (gras, italique, souligné)Le cadrage du texteLe mode éditeur

3.5.2.Blob :

Type de donnée : ABBObjet graphique : photo

Paramètres :Occupation : Lignes et colonnes physiquesType photo :NormaleEtiréeProportionnelle

Menu contextuel :SélectionnerEnregistrer

3.5.3.Type de champ « Icône »

Ce type de champ est stocké dans l‟écran en alphanumérique de longueur au moins égale à 3. Lavaleur du champ détermine l'icône à afficher (0 à 299). Une chaîne vide provoque l'effacement del'icône.

Norme : pas d‟intitulé sur champ icône 

La colonne « Objet graphique » doit être positionnée à icône.

 Action sur une icône :Clic sur l‟icône si le champ est saisissable.Pas de menu contextuel.

Les icones utilisables sont renseignées dans le menu :« Développement>Utilitaires>Recherches>Affichage icônes »

… et affichés dans le menu en haut du dictionnaire des écrans : « Visualisation>Icones »

Page 20: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 20/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 20

3.5.4.Champs de paramétrage

Certains champs de l‟écran sont considérés comme du paramétrage : Aide, Code accès, Style, Tablede contrôle sur l‟onglet « Champs ». La mise à jour de ces champs ne nécessite donc pas de codeactivité spécifique, ils ne seront pas écrasés par une mise à jour de patch.

 Autres champs de paramétrage :Traitement spécifiqueTraitement verticalCoordonnées écran : nb lignes et nb colonnes

L‟aide :L‟aide est créée dans les tables X3 dédiées. Une fonction pour saisir l‟aide sur champ, une autre pour saisir l‟aide fonction.L‟aide standard est uniquement dans le dossier mère. L‟aide spécifique sera dans le dossier fille.

3.6. CONTRAINTE TECHNIQUE POUR L’APPEL D’UN BLOC TABLEAU DEROULANTS 

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

Etre déclarée dans la colonne « Paramètre » paramètre sur le bloc tableau de l‟écran. Etre appelée sur la première ligne du bloc tableau dans l‟onglet Champ de l‟écran. 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 donnée ABS. Il est saisissable sile tableau est saisissable et invisible si le tableau est invisible.

Les informations à renseigner dans blocs sont :Les optionsLe nombre maximum de lignesLa variable de bas de tableau.

ExempleEcran SOH4 contenant les lignes de commandes de ventes.

Page 21: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 21/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 21

Traitement W0xxx :

Traitements entièrement générés pour l‟import 

Traitement W1xxx :Traitements entièrement générés pour la saisie

Traitement SUBxxx & SPVxxx & SPExxx :Nous retrouverons dans ces traitements les étiquettes (appels) des sous-programmes, qui

sont générés pour les actions sur champs à la suite de la validation de l‟écran. Une fois les étiquettesdes sous programmes générées, les sous programmes sont à écrire. Ces traitements sont détaillésdans le chapitre « action sur champs ».

xxx est le code de l‟objet 

Page 22: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 22/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 22

Notes

Page 23: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 23/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 23

4. OBJETS 

4.1. DEFINITION 

Un objet X3 est le lien entre une fenêtre (l‟interface graphique) et une table (la base de données).  Ce lien permet la gestion de l‟affichage et de l‟enregistrement des données par les traitements moteur(superviseur) en fonction du type de gestion choisi pour l‟objet. 

4.2. GESTION OBJET SIMPLE 

L‟objet se présente sous la forme : d‟une fenêtre composée d‟un entête et de 15 onglets maximumd‟une liste de sélection à gauche (« browser »)

La création se fait par : fichier nouveau.La duplication se fait par : modification de la clé par une valeur non encore créée dans le fichierLa suppression se fait par : bouton bas d‟écran « supprimer »

Objets : 4 types de gestion

Gestion Objet simple

Exemple « Données de base>Tiers>Tiers »

90% des objets X3 utilise cette gestion, particulièrement adapté pour affiché les objetspossédants un grand nombre de champs.

Lors de la transaction, seul l‟objet courant est modifié.

Objet en cours de gestion

Clef de l ’ enregistrement dans l ’écran d ’ entête

Listes des champs regroupés par onglets

fonctionnels

Objet en cours de gestion

Clef de l ’ enregistrement dans l ’écran d ’ entête

Listes des champs regroupés par onglets

fonctionnels

Liste Gauche

Listes des

objetsaffichables sur

sélection

Liste Gauche

Listes des

objetsaffichables sur

sélection

Copyright © Sage 2009-2010 12Safe X3 Développement

Page 24: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 24/226

Page 25: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 25/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 25

4.4. GESTION COMBINE 

Cette gestion est identique à la gestion tableau pour 1 groupe d‟enregistrement.Le groupe est défini par les n premiers champs de clé -1.

L‟objet se présente sous la forme : D‟un écranListe de sélection à gauche (« browser »)N-1 premiers arguments identiques

La création et la suppression d‟un groupe  se fait par : fichier nouveau et le bouton bas d‟écran« supprimer »

La création et la suppression d‟un élément se fait par insertion et suppression ligne

Objets : 4 types de gestion

Gestion combiné

Exemple « Données de base>Tables tiers>Conditions de paiement »

Permet de gérer un regroupement d‟enregistrement en tableaux sur une gestion d ‟objetsimple.

Lors d‟une transaction, tous les enregistrements concernant les N-1 premiers argumentssont supprimés pour être recréés

Objets en cours de gestion

Clef de l ’ enregistrement dans l ’écran d ’ entête et

dans un champ du tableau.

Listes des enregistrement du groupe dans les

lignes du tableau.

Objets en cours de gestion

Clef de l ’ enregistrement dans l ’écran d ’ entête et

dans un champ du tableau.

Listes des enregistrement du groupe dans les

lignes du tableau.

Liste Gauche

Listes des

regroupements

d ’ objets

affichables sur

sélection

Liste Gauche

Listes des

regroupements

d ’ objets

affichables sur

sélection

Copyright © Sage 2009-2010 14Safe X3 Développement

Page 26: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 26/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 26

4.5. GESTION BROWSER 

Il s‟agit d‟une liste gauche 

Une liste peut-être représentée par :Une énumération d‟enregistrements provenant d‟une ou plusieurs tables, il est alors possible partraitement de les trier et de les filtrer. Exemple dictionnaire des écrans liste « Utilisations de l‟écran »Permettant de lister les fenêtres utilisant un écran.

Une liste hiérarchisée, regroupant les enregistrements visualisables.Exemple « Stocks>Inventaire>Inventaire » permettant de regroupe les inventaires par cessiond‟inventaires. 

Une liste de picking servant à mettre à jour les lignes d‟un tableau.Exemple « Vente>Commandes>Commandes » la liste de picking des devis.

La partie développement est détaillée au chapitre 11.

Objets : 4 types de gestion

Gestion browser 

Exemple « Vente>Commandes>Commandes » liste sélection devis

Permet de cré

Page 27: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 27/226

Page 28: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 28/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 28

Déclaration de filtres utilisables ou non lors de l‟appel à cet objet. Code spécifique :

Toutes les lettres minuscules.

Ecran de sélection :

1- paramétrage de la liste gauche et des écrans de sélection et sélection avancéeindex : si non renseigné 1er index ascendantoption de sélection : application d‟options de sélection sur la (f. de sélection) de l‟objet *liste hiérarchisée : oui / non ( l. gauche)nb caractères : pris en compte pour le début de recherche (f. de sélection)champs : correspondant à la clé primaire (l. gauche & f. de sélection)

2- contenu de la liste gauche et des écrans de sélection et sélection avancéeTable/Zone : permet de choisir un champ d‟une table référencée dans l‟objet. On ne peut pas saisir unchamp avec indice. Le système prend le 1er poste.expression/type/intitulé : permet de construire un élément.

4.6.4.Onglet environnementTables :

Permet d‟ouvrir des tables  automatiquement à l‟exécution  de l‟objet, ces tables sont alorsutilisables dans les traitements.

Clé de lien :Clé de parcours utilisé, par défaut il s‟agit 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 définie ici. Utilisé pour les champs de la liste de

gauche. Utilisé pour la recherche des statistiques liées à l‟objet. 

L‟ouverture et la fermeture des tables sont générées dans le traitement WOxxx. ( xxx = code objet )

Tableau des IMPORT :Ce tableau permet à la gestion des imports export d‟importer   les données renseignées dans

les écrans ne figurant pas sur la fenêtre principale lors de la simulation de saisie. (Voir cours sur lesImports/Exports)

Pour chaque table de l‟objet, on précise l‟écran mis à jour par transclasse.

Tableau écrans complémentaires :Ouverture des écrans ne faisant pas parti de la fenêtre principale pour la simulation de saisie

d‟un 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.L‟ouverture et fermeture des vues sont générées dans le traitement WOXXX, comme pour les tables.

Si l‟abréviation n‟est pas renseignée, le vue est ouverte sous son abréviation dictionnaire. Le nom et l‟abréviation d‟une table ou d‟une vue doit être unique sur l‟ensemble ( table & vue ) 

4.6.6.Champs de paramétrage

Certains champs de l‟objet sont maintenant considérés comme du paramétrage.

Page 29: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 29/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 29

La mise à jour de ces champs ne nécessite donc pas de code activité spécifique (ils ne seront pasécrasés).

La mise à jour peut s‟effectuer directement en gestion d‟objet, ou par la fonction du menu« Paramétrage / Paramètres généraux / Personnalisation objets ».

Notes

Page 30: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 30/226

Page 31: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 31/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 31

5. FENETRE 

5.1. DEFINITION 

Fenêtre objet :Elle se nomme Oxxx ( xxx=code objet )

Fenêtre objet avec Transactions :S‟il  y a des transactions de saisie pour un objet, les écrans sont à générés ainsi que la

fenêtre. Celle-ci se nomme WOxxxyyy ( xxx = objet & yyy = transaction de saisie)

Validation globale (par le menu « Validation ») :Permet de valider la fenêtre, les écrans, l‟objet liés à la fenêtre.

Fenêtre

+ Boutons / Menus

Fenêtre

+ Boutons / Menus

Fenêtres

Objet

Traitement standard SUBxxxTraitement vertical SPVxxxTraitement spécifique SPExxx

Objets browser 

TableEcrans

Traitement standard SUBxxxTraitement vertical SPVxxxTraitement spécifique SPExxx

DéfinitionLa fenêtre contient les écrans à afficher et l‟objet faisant référence à la table principal.

Copyright © Sage 2009-2010 18Safe X3 Développement

Page 32: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 32/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 32

5.2. RESUME 

Le dictionnaire des fenêtres est dans le menu :« Développement>Dictionnaire traitements>Fenêtres »

Onglet EcransDéclaration des écransDéfinition du type de fenêtre, objet pour la gestion d‟objet. 

Onglet Boutons/menus Ajout des boutons bas d‟écran et des menus spécifiques 

Onglet Boutons prédéfinis Ajout ou suppression des boutons et menus standards.

Onglet Browser Ajout des listes gauches spécifiques, exemple fenêtre OSOH (gestion descommandes)

5.3. ONGLET ECRANS 

Type fenêtre :Objet

Page 33: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 33/226

Page 34: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 34/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 34

5.7. EXERCICE : GESTION DES ARTICLES 

5.7.1.Objectif

Développer une gestion des articles sous forme tableau.

5.7.2.Marche à suivre

Vous avez à votre disposition le code activité spécifique YSO. Création du menu ZMCOU dans le menu général GENE du profil ADMIN. 

Ces 2 éléments seront utilisés dans tous les exercices.

Création de la table YITEMX.Création de l‟écran YIX1.

Création de l‟objet YIX.Création de la fenêtre OYIX.

Pour ce faire, utiliser les descriptions ci-dessous.

Table des articles

Code table : YITEMX Abréviation : YIXModule : Tronc commun

Zone Type de la zone Longueur Dimension Intitulé

YITMREF Alphanumérique 20 1 Article

YITMDES Alphanumérique 30 1 Intitulé

YITMSHO Alphanumérique 10 1 Intitulé court

YUOM UOM 1 Unité

YORDNOT Décimal 13.2 1 Prix de base

YVATRAT Décimal 3.2 1 Taux de taxe

Champ particulier 1 Numéro exportChamp particulier 1 Opérateur création

Champ particulier 1 Date création

Champ particulier 1 Opérateur de modification

Champ particulier 1 Date de modification

Index Descripteur de l‟index  Homonymes

YIX0 YITMREF Non

Page 35: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 35/226

Page 36: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 36/226

Page 37: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 37/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 37

5.7.6. A vérifier

Vérifier la bonne initialisation de votre nouveau champ.Vérifier que les lignes d‟articles actifs sont bien coloriées.

Noter que l‟automatisme est bien pris en compte quand on entre dans la fonction mais que celui-cin‟est pas automatique à chaque modification du champ ENAFLG.Par la suite, on ajoutera une action pour prendre en compte cet automatisme. Exercice annexe N°A.

5.7.7.Etape n° 3

Création d‟un patch pour sauvegarder les éléments crées, ou les installer sur un autre dossier.Créer votre patch par le menu : Développement / Utilitaires / Patch / Création automatique de patch,En sélectionnant l‟ensemble des éléments ayant le code activité YSO. 

Notes :

Page 38: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 38/226

Page 39: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 39/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 39

6. MENUS LOCAUX 

6.1. DEFINITION 

Les menus locaux se trouvent dans le menu :« Développement>Dictionnaire données>Tables>Menus locaux  – Messages »

DéfinitionDéfinit une liste finie de valeurs saisissables pour un champ. Exemple, le menu local1 contenant les libellés « oui » et « non ».Les menus locaux étant souvent utilisé en développement ceux-ci ne sont pasmodifiables.Les libellés peuvent être traduits. A la création le numéro du menu local doit respecter les plages données ci-dessous.

Messages :Vertical 160 - 169

5000 – 5199Spécifique 6000 – 6199

Menus locaux :Vertical 1000 – 1999

5200 – 5999Spécifique 6200 – 6999

Flag menu local :Permet de faire la distinction entre les menus locaux et messages

 Appel d‟un message : Fonction : Mess(élément, chapitre, 1)

Recherche d‟un message :Menu : « Développement/utilitaires/Recherches/Message »

Modifiable :Permet à l‟utilisateur de modifier ce menu local par le menu de paramétrage. Colonne « Code » :Sert au transcodage en import / export

Principe :code + libellé : stockés dans la table APLSTDdescription : stockés dans la table AMENLOCLe code est stocké dans le champ de type de donnée M ou MM d‟une table fonctionnelle.

.

Page 40: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 40/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 40

7. TABLES DIVERSES 

7.1. DEFINITION 

Les tables diverses sont créées dans le menu :« Développement>Dictionnaire données>Tables diverses>Définition »

Permet de créer une table contenant au maximum 7 champs.Intéressant pour créer de petites tables de travail sans alourdir le dictionnaire des tables. A l‟inverse des menus locaux, les tables diverses sont paramétrables par défaut parl‟utilisateur.  A la création le numéro de la table diverse doit respecter les plages données ci-dessous.

Vertical 1000 – 1999Spécifique 6000 – 6999

Principe :Description : est stockée dans la table ATABTAB.Données : sont stockées dans la table ATABDIV.Sa clé est composée par : le numéro de table + le codeLe code peut contenir jusqu‟à 20 caractères depuis la V6Les données sont :

Un code pour l‟enregistr ementUne désignation longueUne désignation courte2 champs alpha (facultatifs)2 champs numériques (facultatifs)Filtre sur la société (GSOCIETE) et sur la législation (GCURLEG) (facultatif)Table de dépendance (pour lier une table à une autre)

Modifiable :Par défaut une table diverse est modifiable par la fonction GESADI, mais elle pourrait ne pas l‟être. 

Longueur modifiable (pour élément clé) :Longueur code peut être modifiable par fonction du paramétrageLongueur code peut être différente d‟une table à une autre Longueur doit être inférieure ou égale à la valeur contenue dans le dossier mère X3

7.2. SAISIE DES DONNEES 

Une fois la définition de la table diverse créée, la table diverse doit être renseignée.

Elle est à renseigner dans le menu :« Développement>Dictionnaire données>Tables diverses>Données »

 Affectation d‟un champ obligatoire contrôlé par cette table par l‟action d‟init du champ (chapitre 9 surles actions sur champs).

Page 41: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 41/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 41

7.3. GESTION DE TABLE DE DEPENDANCE 

Cette gestion permet une hiérarchisation entre tables divers, par exemple avec la table famille et latable sous-famille des articles.

Tout d‟abord, r enseignement dans la définition de la table fille, dans le champ « table dedépendance » de la table mère.Exemple dans la définition de la table N°21 « Stat. 2 article ».Renseignement de l‟élément mère pour tous les éléments fils dans la colonne « dépendance » de lafonction de saisie des données.Paramétrage sur l‟écran appelant la  table diverse ; clic droit sur le type de données ADI, puisrenseignement des paramètres suivants : _ numéro de table diverse fille _ champ contenant le numéro de la table mèreExemple écran ITM1 pour le champ TSICOD statistique.

Nouveauté V6 :Les champs dimensionnés tels que TSICOD ont un numéro de table paramétré avec la formule

« (numéro de table mère)+indice ».Le champ tables diverses contient : func TRTX3.DEPFAM(TSICOD,indice,20)

Page 42: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 42/226

Page 43: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 43/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 43

# si code activité de dimension 3%string$(find(func AFNC.ACTIV(« XXX »),3)<>0,«, LIEN_2»)%From TABLETEST

Requête et base de données :

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

Validation de la vueLe fichier *.viw est créé avec le script adapté à la base de données du dossier courantContrôle syntaxique

8.2.3.Onglet champs

Permet de constituer la classe [F]

Il doit y avoir compatibilité entre la requête et la description des champs (nombre, ordre et typeinterne), ce contrôle est effectué lors de la validation de la vue. Les champs de type clob et blob sontautorisés. Champs « textes traduits » ne sont pas autorisés. (Ils n‟existent pas dans la base) 

 Aide à la créationFenêtre permettant la saisie d‟une table et la sélection d‟un ou plusieurs champs associés 

 Aide sur nom de champTunnel sur codificationOutil permettant la signification du champ

8.2.4.Onglet Clés

Pas de création d‟index, Génération d‟un « order by » dans la requête (attention aux performances)

PerformancesTable sans trop d‟enregistrements, ou avoir une clause « Where » pertinente

Page 44: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 44/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 44

8.3. STRUCTURE GENEREE EN VALIDATION 

Vue dans la base par l‟instruction « create view »Dans répertoire FIL

Un fichier *.srf contenant la liste des champs (flag « #V » en 3ème ligne)

Un fichier *.fde généré par valfil -nUn fichier *.viw contenant la description de la requête

Vues du superviseur : AVIEWTAB : union des tables et des vues. Utilisée dans l‟éditeur 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 d‟état (si autorisé dans fichier/option/base de données)Utilisables comme des tables (Sélection, lien, et placement champ)

Validation d‟une table ou d‟une vue utilisée dans une vue : 

Sur une base Oracle, la vue est « cassée » suite à validation forcée table ou vue utilisée dans sarequête. Une validation est forcée par choix utilisateur ou automatiquement lorsqu‟il y a changementde structure. Donc, suite à validation table ou vue le superviseur relance la validation des vues« cassées » sur dossier courant et historisé. Revalider manuellement les vues sur autres dossiers.

Nommage des vuesValidation dans l‟ordre alphabétique du nom des vues. Une vue appelée doit être validée avant la vueprincipale. Son nom doit être antérieur à celui de la vue principale (suivant l‟ordre alphabétique).

Dossier historiséLes vues du dossier principal sont créées automatiquement dans le dossier historisé à la création dudossier historisé, et à la validation des vues.

8.3.1.Programmer avec des vues

Une vue s‟utilise globalement comme une table, avec les restrictions suivantes :  Utilisable en lecture uniquementNe peut pas être précisée dans les champs « tables » des dictionnairesN‟intervient aujourd‟hui que dans le dictionnaire des objets.

Instructions utilisables pour les vues(local) fileclose (local) fileDefault fileFilter [x] Where … Order by … For [x]… Next 

Page 45: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 45/226

Page 46: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 46/226

Page 47: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 47/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 47

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éléments 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 d‟identifier unvertical.

Ce type de code activité devra être systématiquement utilisé pour protéger lesdéveloppements spécifiques des intégrations de patchs standards.

9.6. PARTICULARITE DE LA DESACTIVATION PAR CODE ACTIVITE 

Champ table toujours présent :

Ce champ est généré dans la base de données.En effet, les états Crystal s'appuyant sur la définition de nos tables doivent fonctionner que cechamp soit actif ou inactif.

Type de donnée de base :

Pour ne pas avoir le risque d'avoir un type de donnée associé inexistant, le type de donnée estremplacé par un type de données "de base" correspondant au type interne du type de donnée initial :

C pour numérique,

DCB pour nombre décimauxD pour Date A pour tout le reste. ces champs de type A seront sur 1 caractère.

Dimension du champ Table :

Pour un champ dimensionné avec code activité inactif, sa dimension champ de table sera 1.

Développement :

Un champ soumis à un code activité dans une table, est toujours présent avec une dimensionà 1.Pour un champ dimensionné avec un code activité inactif, il faut impérativement tester le codeactivité.Utiliser, pour cela, la fonction ACTIV du traitement AFNC.

Erreurs à éviter sur code activité, car peut entraîner des pertes de données :

un code activité absent à tort, sur un champ spécifique : le champ sera supprimé de la basede données.un code activité inactif à tort, sur champ alpha : le champ sera réduit à 1 seul caractère dansla base de données.un code activité inactif à tort, sur champ dimensionné : le champ sera réduit à 1 seuleoccurrence dans la base de données.

Page 48: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 48/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 48

Notes

Page 49: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 49/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 49

10. ACTIONS CHAMPS 

10.1. DEFINITION 

Les actions sur champs permettent de renseigner des contrôles, des affichages ou d‟iv ç

Page 50: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 50/226

Page 51: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 51/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 51

Ordre d‟exécution est Spécifique  Vertical  Standard

Code actionplacée sur un champ

 Action champ

STD SUBxxx

SPV

SPE

SPVxxx

SPExxx

Traitement nommé sur écran

Traitement capitaliséaction

Copyright © Sage 2009-2010 27Safe X3 Développement

Page 52: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 52/226

Page 53: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 53/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 53

10.3. LISTE DES ACTIONS SUR CHAMPS 

 Avant_zone :

Mkstat=0 : la zone sera affichée, 1 : la zone ne sera ni affichée ni saisie. Elle sera réinitialisée, 2 : la zone ne sera ni affichée ni saisie. 

Init :Initialisation d‟un champEx : [L]VALEUR = « toto » Attention, dans un tableau, l‟init est seulement actif à la création de ce tableau. 

 Avant_saisie :

0 : la zone sera saisissable, 1 : la zone ne sera pas saisissable. Elle sera réinitialisée, 2 : la zone ne sera pas saisissable. 

Pour supprimer des valeurs d‟un menu local. GMENLOC(n)=1Utilisez un type de donnée MM.

Type action Contexte d  ‟appel & emploi Etiquette

 Avant_zone avant l‟affichage de la zone AV_zoneex : définir le formatconditionner l ’  affichage

affecter une couleur (V130)

Init initialisation de la zone D_zoneen création seulement

 Avant_saisie avant la saisie de la zone AS_zoneex : désactiver éléments menu local

conditionner la saisie

 Action champ

 Affichage

Copyright © Sage 2009-2010 29Safe X3 Développement

Page 54: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 54/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 54

Contrôle, Après_zone, Après_modif :

affichage d‟un message [V]GMESSAGE = « message » ou [V]GMESSAGE = mess(10,100,1)dans une boite d‟erreur   [S]mkstat=2 ( GERR = 1 automatiquement )dans une boite de message GERR = 2dans une boite d‟avertissement GERR = 3 ( mkstat = 2 automatiquement, si l‟opérateur répond« annuler »)dans la barre de texte GERR = 4

Pour les boites d‟avertissement : Les sous-programmes OUINON et AVERTIR … From GESECRANsont utilisables si l‟on veut exploiter la réponse dans l‟action de controle.

 Après_zone, Après_modif : Alimentation et affichage d‟un champ suivant

Ex : [M:ABC]champ = « toto » : Affzo [M:ABC]champ Actzo [M:ABC]champ : # dégrisage du champDiszo [M:ABC]champ : # grisage du champ avec conservation du focusGrizo [M:ABC]champ : # grisage du champ sans conservation du focusZonsui = « [M:ABC]champ » : déplacement sur un autre champ

Page 55: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 55/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 55

Création d‟un bouton contextuel : 

IB_zone : Activation désactivation 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 sélection, sélection avancée, clicEx :[V]GBOUT1 = mess(90,198,1) Activation du bouton 1Raz [V]GBOUT1 Désactivation du bouton 1

S_zone : Après la sélection, le curseur se positionne automatiquement sur le champ suivantPositionner mkstat = 2, pour bloquer le curseur sur le champ courant.

Bi_zone :Exécution du bouton iUtilisation d‟une action dictionnaire si saisie/affichage d‟une fenêtre (pour version Web)Positionner mkstat = 4, pour déclencher l‟activation du bouton enregistrer.Positionner mkstat = 99, pour positionner le curseur sur le champ suivant.

Remarque :Le bouton B1 est pris par le superviseur s‟il y a un type de données lié à l‟objet. 

Type action Contexte d‟appel & emploi Etiquette

Sélection Fenêtre de sélection S_zone

Init_bouton Attribuer ou effacer le texte du bouton IB_zone

Bouton i A l‟activation d‟un bouton Bi_zone(i = 1 à 20) ex : traitement lié au bouton

 Action champ

 Menu contextuel

Copyright © Sage 2009-2010 31Safe X3 Développement

Page 56: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 56/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 56

CL_zone :

Valeur contient le code de l‟icône 

 Action disponible sur champ saisi Action disponible également sur champ « diszonné ».

Utilisation d‟une action dictionnaire si saisie/affichage d‟une fenêtre (pour version Web)Positionner mkstat = 4, pour déclencher l‟activation du bouton enregistrer.

Type action Contexte d‟appel & emploi Etiquette

Clic Clic sur icône CL_zone

 Action champ

Icône

Copyright © Sage 2009-2010 32Safe X3 Développement

Page 57: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 57/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 57

 Avant_ligne & Après_ligne :Ces 2 actions sont disponibles sur la variable de bas de tableau uniquement.

Page 58: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 58/226

Page 59: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 59/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 59

10.4. VARIABLES UTILISABLES POUR LES ACTIONS SUR CHAMPS 

Variables globales

GREP (1) char bouton standard sélectionnéGIMPORT  int. Indicateur traitement import

GBOUT1..20 (35) char intitulé bouton contextuelGBOUTS (35) char intitulé bouton sélectionGBOUTA (35) char intitulé bouton sélection avancéeGBOUTI  (35) char intitulé clic sur icône

GMESSAGE(250) char message d‟erreur, d‟information … GERR int. Type messageGMENLOC(0..123) int. Désactive 1 élément de menu local

non modifiable

GREP :vide : visualisation A : annulation/suppressionC : créationD : duplicationM : 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 ‟arrêter le traitement ) 4 : message en bas d ‟écran

Variables systèmes :nolign nolign-1 est le numéro de ligne courant dans un tableau déroulantindice indice courant d‟une variable dimensionnée ( de 0 à N-1, N étant la dimension de la variable)mkstat statut d‟erreur  suite à saisie, ou statut permettant de conditionner la saisiestatus statut de retour d‟une instruction de saisie

fstat statut de retour d‟une opération sur table ou d‟une instruction de verrouillage

Page 60: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 60/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 60

10.5. ACTIONS STANDARD CAPITALISEES 

 Actions sur champ clé (objet simple)Les actions sur champs permettent l‟ajout de spécifiques mais peuvent aussi faire

appels à des actions (traitements capitalisées) standards ou spécifiques.

Contrôle particulier sur champ clé lié à objet :

CONTOBJW 

Page 61: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 61/226

Page 62: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 62/226

Page 63: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 63/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 63

Paramètre à renseigner dans le dictionnaire écran dans le menu contextuel du type de donnée. (dansnotre exemple, la devise)

Variable :Variable globale permettant de passer le paramètre au sous-pro SETDEV.

11.6. T YPE DE DONNEES LIEES A L’OBJET :

Type de données lié à l‟objet Type de donnée SOH

•  Permet d‟accéder à une gestion objet par tunnel (optionnel), d‟avoir les fenêtres de sélectionet sélection avancée, d‟afficher les propriétés de l‟objet, de contrôler la valeur saisie avec cellede l‟objet, d‟afficher automatiquement le libellé à la suite du code de l‟objet (optionnel).

•  Si l‟objet est identifié par une clé à 2 composantes, la 1ère composante est considéréecomme un paramètre qui sera saisi dans le dictionnaire des écrans par le menu contextuel du

type de données. Exemple : type ADI.

Pour désactiver le contrôle d‟existence de la valeur dans la table liée à l‟objet, 2 actions disponibles :  

•  CONTOBJW : le champ est obligatoire s‟il est alphanumérique

•  CONTOBJN : aucun contrôle n‟est effectué 

11.7. TEXTE TRADUITS 

Texte traduit

Texte avec possibilité d‟afficher la traduction pour les langues déclarées dans ledossier.

•  champ présent dans le dictionnaire de table, mais absent de la base de données.•  AX1 : longueur = 12•  AX2 : longueur = 20•  AX3 : longueur = 30•   AXX : longueur à définir dans l‟écran 

•  Ses actions :•  LECTEXTRA : lecture et affichage du texte de la table ATEXTRA•  ATEXTRA : fenêtre de saisie du texte dans les différentes langues gérées dans le dossier.

Programmation :

Il est absolument nécessaire de programmer la création, maj. et suppression du texte traduitdans la table ATEXTRA.Pour création 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 l‟update dans la table ATEXTRA.

Page 64: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 64/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 64

Exemple de programmation sur la table TABCOUNTRY.

$CREATION$MODIFCall MAJTEXTRA([M]CRYDES,"TABCOUNTRY","CRYDES",[M]CRY,"") From ATEXTRA

Return$ANNULEDelete [AXX] Where CODFIC="TABCOUNTRY" & IDENT1=[L]CODEIf fstat=1 | fstat>5

GOK=0 : Call RSTA([AXX],[L]CODE) From GLOCK : ReturnEndifReturn

$CHANGEUpdate [AXX] Where CODFIC="TABCOUNTRY" & IDENT1=[L]OCODE WithIDENT1=[L]NCODEIf fstat=1 GOK= - 1 : GLOCK="$ATEXTRA TABCOUNTRY"- [L]OCODE : ReturnElsif fstat GOK=0 : Call RSTA([AXX],[L]OCODE) From GLOCK : Return

EndifReturn

Clé de la table ATEXTRA :Nom de la table contenant le champ de type AXXNom du champ de type AXXLangueClé_enreg(1)Clé_enreg(2)

Page 65: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 65/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 65

11.8. CLOB ET BLOB 

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

Longueur = Valeur dossierPour ACB et ABB

Longueur non affectéePour AC0 et AB0

 Affectation longueurVoir la documentation fonctionnelle (1024 o * 2^n)

Les champs clob sont directement stockés dans la table ACLOB, les blob dans ABLOB

Remarque :Les formats d'image supportés 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 supportées par Crystal.Les images de type *.TIF et *.PNG ne sont pas supportées par le client X3.

11.9. S YNTAXE DU FORMAT 

Type Options : chaîne_de_formatage

TypeK affichage d‟une chaîne de caractères

N affichage d‟un nombre D affichage d‟une date 

Options (commune)c affichage d‟un champ en couleur suivant la variable [S]pcolor (bloc tableau)z commentaires non affichés quand la valeur du champ est nulleX saisie masquée= centré (uniquement sur champ de bloc tableau)< cadré à gauche (uniquement sur champ de bloc tableau)> cadré à droite (uniquement sur champ de bloc tableau)

Chaîne de formatagen1 T1 n2 T2 .... n1, n2 sont des nombres optionnels (1 par défaut)

T1, T2 sont des types de caractères admisPossibilité d‟y ajouter des commentaires délimités par les caractères „[„ et „]‟ Ces commentaires ne sont pas stockés dans la base. (Uniquement affichés)Ils peuvent être placés en début, milieu ou fin de chaîne.

Types caractères admis (chaîne de caractères)A  lettres majuscules (A-Z)a  lettres minuscules (a-z)L  lettres majuscules et minuscules (A-Z,a-z)B  lettres majuscules + chiffresb  lettres minuscules + chiffresC  lettres majuscules et minuscules + chiffresc  format cléH  chiffres hexadécimaux (0-9,A-F)

Page 66: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 66/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 66

X  caractères quelconque imprimable#  chiffre (0-9)

Options (chaîne de caractères) A obligation de taper les caractères demandés : majuscules ou minuscules

T tokenisation (reconnaissance des mots clés)D pas de token

Options (nombre)D placement du signe derrière le nombreF nombre flottant+ nombre positif- affichage systématique du signe* complète avec des * devant le nombre0 complète avec des 0 devant le nombre3 séparateur de groupe

Options (date)

Z date nulle autorisée

Type caractères admis (nombre)#  placement du signe derrière le nombre.  position du séparateur décimal pour les nombres en format fixeF  nombre en format flottant

Type caractères admis (date)D  chiffre composant le jourM  chiffre ou lettre composant le mois Y  chiffre composant l‟année 

h  chiffre composant l‟heure m  chiffre composant les minutess  chiffre composant les secondes

Type caractères supplémentairesPossibilité de se paramétrer jusqu‟à 20 caractères supplémentaires  dans les paramètres TUL1,TUL2...TUL20 du chapitre ADX sous la forme C1 T1 T2 ... : c1 c2 ...C1 est le nouveau type caractères à définir. Il comprend les types caractères T1 et T2 auxquels onajoute les caractères c1 et c2.

Exemples

K:3X2A3#  sont identiquesK:XXXAA###

N:15.2 sont identiquesN:15#.2#

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

D:[Le ]DD[ du mois de ]MMMMMMMM Le 12 du mois de janvierDZz :[Le ]DD[ du mois de ]MMMMMMMM rien n‟est affiché si la date est nulle D:DDMMYY 120105

Page 67: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 67/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 67

Les formats particuliers de dates :

Les formats GFMx sont initialisés d'après 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 prédéfinis dulangage. 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 année sur 2 car.GFMDAT3 : "DD[ ]MM[ ]YYYY" date avec année sur 4 car., sans séparateur.GFMDAT4 : "DD[/]MM[/]YYYY" date avec année sur 4 car.GFMDAT9 : "DD[ ]MMMMMMMMM[ ]YYYY" date avec mois en alphanumérique.GFMJOU : "DD[/]MM" jour/moisGFMMOI : "MM[/]YY" mois/année sur 2 car.GFMMOI4 : "MM[/]YYYY" mois/année sur 4 car.

Formats prédéfinis 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"

Page 68: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 68/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 68

11.10. POUR UNE ACTION : ORDRE D’EXECUTION 

S‟exécute dans l‟ordre :

•  Type de donnée•

  Action sur champ

•  Pas de cumul des actions pour :

•  Bouton•  Sélection•  Click sur icône

Pour une action Sélection, Bouton ou Icône :1 seule action, sur le type de donnéePlusieurs actions possibles, sur le champ (exceptionnel) Action du type de donnée non exécutée si action sur champ.

Page 69: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 69/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 69

11.11. EXERCICE : GESTION DES CLIENTS (GESTION SIMPLE)

11.11.1. Objectif

Développer une gestion des clients sous forme entête, 2 onglets et liste gauche.

11.11.2. Marche à suivre

Table diverseCréation de la table diverse 1000 « Secteurs géographiques » qui comprendra un intitulé et un intitulécourt.Création de quelques enregistrements dans cette table des secteurs géographiques.Exemple : NORD, SUD, EST, OUEST.

Page 70: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 70/226

Page 71: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 71/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 71

Préparer dès maintenant la possibilité de :Contrôle d‟existence Fenêtres de sélectionTunnel vers la gestion des secteurs géographiquesFenêtre de propriétés

 YCNTLASTYP : Ajouter votre menu local.

 YCNTLASDAT :Date nulle autorisée. Se servir des options du champ.

 YBPCREM :Transformer ce champ en clob.

Ecrans des Clients

Ecran d‟entête « identification »

Code écran : YCX0 Abréviation : YCX0Taille : En têteTraitements associés : SUBYCX standard

SPEYCX spécifique

Champ Saisie Oblig. ParticularitésYBPCNUM S Oui Type de donnée lié à l‟objet 

YBPCNAM S Oui

Page 72: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 72/226

Page 73: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 73/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 73

Onglet 2 « général »

Code écran : YCX2 Abréviation : YCX2

Traitements associés : SUBYCX standardSPEYCX spécifique

Champ Saisie Oblig. Particularités Dévelop.

YARE S Contrôle / Sélection / Tunnel / Propriétés

Page 74: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 74/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 74

Objet des clients

Code objet : YCXModule : Tronc communMenu standard : MCOURang dans menu : 20Ecran de sélection : Ascendant

Client / Raison sociale / Prospect

Fenêtre des clients

Code fenêtre : OYCXModule : Tronc communType fenêtre : Objet Affichage : plein écranObjet : YCX

11.11.3.  A vérifierCréation, modification, suppression.Fenêtre de sélection des clients.Interdiction de créer 2 codes client identiques.Message d‟avertissement si le code pays n‟est pas « FR » ou « DE ».Contrôle, Sélection, Tunnel sur les secteurs géographiques.Dans les secteurs géographiques, 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 présentant les clients existants.

Page 75: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 75/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 75

12. MODELE « OBJET »

12.1. DEFINITION 

Le principe des modèles est le suivant, rendre automatique des traitements utiles dans lesdifférents contextes de l‟application (gestion d‟objet, consultation, traitement batch…) et de permettrel‟ajout de traitements spécifiques  via des évènements (ouverture de fenêtre, enregistrement desdonnées, changement d‟enregistrement…). 

Prenons comme exemple l‟objet des clients réalisé dans l‟exercice précédent. Il n‟a pas éténécessaire d‟ajouter de traitement pour permettre la mise à jour ou l‟affichage des données, lestraitements superviseurs ont pris en compte automatiquement ces besoins. Ces traitements sonteffectivement appelés pour une fenêtre contenant un objet et impliquant donc une gestion d‟objet.

Gestion d‟objet L‟ Action GOBJET lancée est unique pour tous les objets qu‟ils soient standards ou spécifiques. (Voirchapitre sur les actions)Traitement superviseur unique : GOBJET Le traitement GOBJET permet :  _ L‟affichages des enregistrements 

 _ Leur suppression, modification, création _ La gestion de la liste gauche principale

Attention ! Tous ces automatismes ne sont gérés que pour la table liée à l‟objet Fonction générée : GES+ « code objet »

Modèle « objet »

Écrans

Objet

Table

Traitement superviseur GOBJET

Traitement standard SUBxxx

Traitement vertical SPVxxx

Traitement spécifique SPExxx

Types de donnée

Traitement standard SUBxxx

Traitement vertical SPVxxx

Traitement spécifique SPExxx

Fenêtre

Action : GOBJET

Fonction : GESxxx

M. Locaux

T. Diverses

Codes activités

Unique

Générée

Types de donnée

M. LocauxT. Diverses

Codes activités

Copyright © Sage 2009-2010 38Safe X3 Développement

Page 76: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 76/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 76

Ces traitements permettent l‟affichage, la création, la modification, la suppression des objets X3, sans

ajout de code spécifique.

GOBJETGOBJET

GOBJSUBGOBJSUB

GOBJET2(tableau)

GOBJET2(tableau)

GOBJET1(simple)

GOBJET1(simple)

GOBJET3(combiné)

GOBJET3(combiné)

 ANUCOD ANUCOD

CHGCODCHGCOD

TABLEAUX(détail)

TABLEAUX(détail)

SUBxxxSUBxxx

SPVxxxSPVxxx

Modèle « objet »

Gestion objet : Les Traitements

SPExxxSPExxx

Copyright © Sage 2009-2010 39Safe X3 Développement

Page 77: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 77/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 77

12.2. UTILISATION DU MODELE OBJET 

12.2.1. Principe

Une fois le modèle appelé, il est alors possible d‟utiliser les différents évènements liés à ce

modèle. Le traitement ci-dessous permet par exemple de prendre la main à l‟ouverture du traitement(action OUVRE) pour venir en ajout du traitement GOBJET courant. Cette action est surtout utiliséepour déclarer les variables utiles au traitement spécifique.

Dans les traitements du superviseur :L‟instruction Gosub permet d‟utiliser les variables des classes [F] (table), [M] (écran), et les variableslocales des traitements superviseur.

Dans le SUBxxx, SPVxxx, SPExxx :L‟étiquette $ACTION est générée dans les traitements SUBxxx, SPVxxx et SPExxx.  XXX étant le nomde l‟objet. Le traitement SUB est forcément généré à la validation de l‟objet dans le dossier mère X3. On complètera le sous-programme en testant la valeur de la variable ACTION. La variable ACTIONest modifiée par le traitement superviseur selon l‟évènement à lancer. 

Ordre d‟appel des actions : L‟action spécifiqueL‟action verticale si GPV=0L‟action standard si GPE=0 

$ACTIONCase ACTION

When «OUVRE » : Gosub OUVREWhen default

Endcasereturn

Lien entre programmes

SPExxx

SPVxxx

Superviseur SUBxxx

 ACTION = « OUVRE »GPE = 0Gosub ACTION From SPExxx

If GPV = 0Gosub ACTION From SPVxxx

Endif 

If GPE = 0Gosub ACTION From SUBxxx

Endif 

 ACTION = « OUVRE »GPE = 0Gosub ACTION From SPExxx

If GPV = 0Gosub ACTION From SPVxxx

Endif 

If GPE = 0Gosub ACTION From SUBxxx

Endif 

Modèle « objet »

$ACTIONCase ACTION

When «OUVRE » : Gosub OUVREWhen default

Endcasereturn

$ACTION

Case ACTIONWhen «OUVRE » : Gosub OUVREWhen default

Endcasereturn

Copyright © Sage 2009-2010 40Safe X3 Développement

Page 78: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 78/226

Page 79: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 79/226

Page 80: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 80/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 80

12.2.2. Gestion simple en création

Les évènements utilisables en gestion de création d‟un enregistrement sont les suivants :

12.2.2.1. RAZCRE

Cette action est lancée en tout début de création après clic du bouton « nouveau », avant la saisie.

Sert à :initialiser les variables de la classe [M]activer / désactiver des champs par Actzo, Diszo, Grizo

Nécessite : le rafraîchissement de l‟écran par Affzo [M:abrev]1-99 il faut pr éciser le nom de l‟écran 

Ex. de devis:

############################################################################ -- gestion des textes[M:SQH0]SQHTEX1 = "" : [M:SQH0]SQHTEX2 = ""[M:SQH0]ANCSQHTEX1 = "" : [M:SQH0]ANCSQHTEX2 = ""Raz [M:SQH2]SQDTEXRaz [M:SQH2]ANCSQDTEXCall RESET_IMAGE (4) From GESECRAN

#-- Effacement des masques adresseRaz GTARFLG

gestion simple : en création

RAZCRE avant la saisie

VERIF_CRE avant la transaction de mise à jour 

APRES_CRE après la transaction de mise à jour 

AB_CREATION si abandon de la transaction

Trbegin

INICRE après le chargement de la classe [F]

CREATION après l‟écriture de l‟enregistrementCommit

Saisie

[F]=[M]

WRITE

Modèle « objet »

Copyright © Sage 2009-2010 43Safe X3 Développement

Page 81: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 81/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 81

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

#-- Activation/Desactivation des zones en fonction du contexte #Gosub GRIZE_LIENS Affzo [M:SQH0]SALFCY, QUODAT

 Affzo [M:SQH1]STOFCYReturn###########################################################################

12.2.2.2. VERIF_CRE

 Action lancée après la saisie du bouton « créer », avant la transaction de mise à jour.

Sert à :effectuer des contrôles globauxinterrompre le traitement et retour à la saisie: [L]OK=0afficher un message : GMESSAGE

indiquer le type de message :  GERRPositionnement du curseur (nom de champ) : [S]zonsui 

Ex. de devis:

############################################################################ --> Il doit y avoir au moins une ligneIf [M:SQH2]NBLIG = 0

GERR=1 : GMESSAGE = mess(61,199,1) : OK=0 : [S] zonsui=  “[M:SQH2]NBLIG” : ReturnEndif###########################################################################

12.2.2.3. INICRE

 Action lancée en début de transaction de mise à jour après le chargement de la classe [F].

Sert à :alimenter la classe [F]interrompre la transaction : [V]GOK=0afficher un message : GMESSAGEindiquer le type de message : GERR

Attention ! L‟ouverture de table est possible mais uniquement dans un sous-programme, sinon laclasse [F] par défaut est modifiée.

Ex. de devis:

############################################################################ Récupération du compteur de devisIf GMANCOU <> 2 | (GMANCOU=2 & vireblc([M:SQH0]SQHNUM,2)="")

Call NUMERO (GCPT,[F:SQH]SALFCY,[F:SQH]QUODAT,"",GNUM,STAT) From SUBANMIf STAT = 0

[F:SQH]SQHNUM = GNUM[M:SQH0]SQHNUM = GNUM

 Affzo [M:SQH0]SQHNUMElse# problème lors de la récupération du compteur

Page 82: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 82/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 82

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

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

12.2.2.4. CREATION

 Action lancée après l‟écriture de l‟enregistrement dans la transaction de mise à jour  

Sert à :créer, mettre à jour, supprimer enregistrement d‟autres tablesgérer les verrouillages avec [V]GOK = -1interrompre 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] : EndifReadlock [BPC]BPC0 = [F:SQH]BPCORDIf fstat = 1 : GOK = -1 : GLOCK = "$SQUOTE"-[F:SQH]BPCORD : Return : EndifIf 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###########################################################################

Page 83: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 83/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 83

Statut fstat :

Statut de retour d‟une opération sur table. 0 : OK1 : enregistrement verrouilléautre : erreur

Sous-programme RSTA : Affichage d‟un message en fonction du fstat, suite à une tentative de lecture. 

Sous-programme FSTA : Affichage d‟un message en fonction du fstat, suite à une tentative d‟écriture, réécriture, ousuppression.

fstat = 1 enregistrement verrouillé (lecture)

2 clé suivante lue (lecture)3 clé déjà existante (écriture)4 début/fin de fichier (lecture)5 pas d‟enregistrement courant (lecture)autre erreur grave fstat = nnn

 Action : création

$CREATIONReadlock [xxx]xxx0 = clé [f:abrv]champ

If fstat=1

GOK= -1 : GLOCK= «nom table + clé » : Return

Elsif fstat<>0

GOK= 0Call RSTA(« abrev table »,clé) From GLOCK

Return

Endif 

ReWrite [xxx]

If fstat

GOK= 0Call FSTA(« abrev table ») From GLOCK

Return

Endif 

Return

Modèle « objet »

Copyright © Sage 2009-2010 44Safe X3 Développement

Page 84: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 84/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 84

12.2.2.5. APRES_CRE

 Action lancée après la transaction de mise à  jour, si la transaction s‟est déroulée avec succès. A la différence de création, si la mise à jour d‟une autre table ne fonctionne pas dans cette action, lacréation de l‟enregistrement dans la table principale n‟est pas annulée.

Sert à :imprimer un étatmettre à jour une table secondaireactiver / désactiver des champs par Actzo, Diszo, Grizo

Ex. de devis:

############################################################################ --- Impression devis client #If WSLTDOCFLG = 2

Gosub SET_CLE From GOBJSUB

CLECUR = 1EndifIf WSLTDOCFLG = 2 & !GINTRA & !GIMPORT

Call ETAT(WSLTDOCNAM,"GESSQH",TBPAR,TBVAL) From ETATEndif

# Actualise la liste gaucheGosub 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]PJTIf !fstatCall DEBTRANS From GLOCKTrbegin [OPP][F:OPP]OPPNBQ += 1Rewrite [OPP]If fstat : Rollback : Else : Commit : Endif

Endif

If CLOFLG : Close Local File [OPP] : EndifEndif###########################################################################

Page 85: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 85/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 85

12.2.2.6. AB_CREATION

 Action lancée en abandon de la transaction après le Rollback

Sert à :

déverrouiller un symboleréaffecter des variables globales

Ex. de fournisseur:

############################################################################-- il faut déverrouiller BPARTNERSYMBOLE2 = "BPR"+num$([M:BPS0]BPSNUM)Lock = SYMBOLE2Unlock = SYMBOLE2###########################################################################

12.2.3. Gestion simple en duplication

gestion simple : en duplication

RAZDUP avant la saisie

VERIF_CRE avant la transaction de mise à jour 

APRES_CRE après la transaction de mise à jour 

AB_CREATION si abandon de la transaction

Trbegin

INICRE après le chargement de la classe [F]

CREATION après l‟écriture de l‟enregistrementCommit

Saisie

[F]=[M]

WRITE

Modèle « objet »

Copyright © Sage 2009-2010 45Safe X3 Développement

Page 86: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 86/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 86

RAZDUP 

 Action lancée en tout début de duplication avant la saisie

Sert à :

initialiser les variables de la classe [M]activer / désactiver des champs par Actzo, Diszo, Grizo

Nécessite :le rafraîchissement de l‟écran par Affzoil faut préciser le nom de l‟écran. 

12.2.4. Gestion simple en modification

12.2.4.1. LIENS

 Action lancée après la lecture de l‟enregistrement, avant l‟affichage de la classe [M]

Sert à :alimenter des variableslire des tables supplémentairesalimenter des champs de la classe [M]activer / désactiver des champs par Actzo, Diszo, Grizo

Attention ! Il est nécessaire de préciser le nom de l‟écran 

gestion simple : en modification

LIENS après la lecture de l‟enregistrement

AVANT_MOD dès le début de la saisie (120)

VERIF_MOD avant la transaction de mise à jour 

APRES_MOD après la transaction de mise à jour 

AB_MODIF si abandon de la transaction

AVANT_MODFIC après la lecture enreg. Avec verrouillage

INIMOD après le chargement de la classe [F]

MODIF après la ré-écriture de l‟enregistrement

[M]=[F]

[F]=[M]

REWRITE

Modèle « objet »

Saisie

V V 

I

S

U

Copyright © Sage 2009-2010 46Safe X3 Développement

Page 87: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 87/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 87

Ex. de devis:

############################################################################------------------------------------------------------------## Ré-alimentation site fin.(GFINRSP)

# soc. (GSOCIETE)# dev.soc. (GLOCALDEV)# Récupération des paramètres vente du site / de la société# Ré-alimentation du cours devise dossier/devise cde# -----------------------------------------------------------#GFCY = [F:SQH]SALFCYCall GETDEV(GFCY) From DEVSUBCall GLOBVAR(GFCY) From AGLOBVEN

#------------------------------## Lecture du site d'expédition#------------------------------#If [F:FCY]FCY <> [F:SQH]STOFCY

Read [F:FCY]FCY0 = [F:SQH]STOFCYIf fstat Raz [F:FCY] : Call RSTA("FCY", [F:SQH]STOFCY) From GLOCK : EndifEndif###########################################################################

12.2.4.2. AVANT_MOD

 Action lancée dès le début de la saisie, c‟est à dire dès la saisie d‟un champ qui identifie le modesaisie.

Sert à :contrôler l‟autorisation de la saisie 

interrompre le traitement : [L]OK=0afficher un message : GMESSAGEindiquer 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 = 3GERR=1 : GMESSAGE = mess(36,192,1) : OK=0 : Return

EndifReturn###########################################################################

12.2.4.3. VERIF_MOD

 Action lancée après la saisie bouton « enregistrer » avant la transaction de mise à jour.

Sert à :effectuer des contrôles globaux

interrompre le traitement : [L]OK=0afficher un message : GMESSAGE

Page 88: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 88/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 88

indiquer le type de message :  GERRPositionnement du curseur (nom de champ) : zonsui 

Ex. de devis:

idem VERIF_CRE

12.2.4.4. AVANT_MODFIC

 Action lancée en début de transaction mise à jour après la lecture de l‟enregistrement, [F] et nonencore mise à jour, les anciennes données sont donc encore visualisable.

Sert à :verrouiller des informations complémentairesmettre à jour des tables secondaires (-)interrompre la transaction : [V]GOK=0

Éviter les ouvertures de tables hors sous-programme

Ex. de devis:

############################################################################-- Maj des statistiquesCall VALSTA("SQH",-1) From SUBPS2If GOK < 1 : Return : Endif###########################################################################

12.2.4.5. INIMOD

 Action lancée après 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 éléments de facturationFor 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###########################################################################

Page 89: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 89/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 89

12.2.4.6. MODIF

 Action lancée après la réécriture de l‟enregistrement dans la transaction de mise à jour. 

Sert à :

créer, mettre à jour, supprimer enregistrement d‟autres tables gérer les verrouillages avec [V]GOK = -1interrompre la transaction : [V]GOK=0

Ex. de devis:

############################################################################-- Maj des statistiquesCall VALSTA("SQH",1) From SUBPS2If GOK < 1 : Return : Endif###########################################################################

12.2.4.7. APRES_MOD

 Action lancée après la transaction de mise à jour, si la transaction s‟est déroulée avec succès 

Sert à :impression d‟un état gr iser dégriser des zones de l‟écran mettre à jour une table secondaire

Ex. de devis:

###########################################################################

$APRES_MODLocal Char TBPAR(10)(1..50),TBVAL(30)(1..50)#-----------------------------------------------## Impression devis client#-----------------------------------------------#If WSLTDOCFLG=2 & [F:SQH]QUOPRN<>2

Gosub SET_CLE From GOBJSUBCLECUR = 1

EndifIf WSLTDOCFLG=2 & [F:SQH]QUOPRN<>2 & !GINTRA & !GIMPORT

Call ETAT(WSLTDOCNAM,"GESSQH",TBPAR,TBVAL) From ETATEndif

# Maintenant, on fait toujours un gosub RELITGosub RELIT From GOBJSUB[M:SQH0]SQHNUM = [F:SQH]SQHNUM###########################################################################

12.2.4.8. AB_MODIF

 Action lancée en abandon de la transaction après le Rollback.

Sert à :déverrouiller un symboleréaffecter des variables globales

Page 90: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 90/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 90

12.2.5. Gestion simple en suppression

12.2.5.1. VERF_ANU

 Action lancée dès l‟activation du bouton supprimer, après les contrôles du dictionnaire, avant latransaction de suppression.

Sert à :contrôler l‟autorisation de la suppressioninterrompre le traitement par [L]OK=0afficher un message : GMESSAGEindiquer le type de message : GERR 

Ex. de devis:

############################################################################ --> devis non supprimable si transformé totalement ou partiel. en cdeIf [F:SQH]QUOSTA <> 1

GERR=1:GMESSAGE=mess(37,192,1):OK=0Return

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

gestion simple : en suppression

VERF_ANU avant la transaction de suppression

AP_ANNULE après la transaction de suppression

Trbegin

ANNULE avant la suppression de l‟enregistrementcommit

[M]=[F]

Modèle « objet »

DELET

 V 

I

S

U

Copyright © Sage 2009-2010 47Safe X3 Développement

Page 91: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 91/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 91

12.2.5.2. ANNULE

 Action lancée avant la suppression de l‟enregistrement, dans la transaction de mise à jour.

Sert à : créer, mettre à jour, supprimer enregistrement d‟autres tables gérer les verrouillages avec [V]GOK = -1interrompre la transaction : [V]GOK=0

éviter les ouvertures de tables hors sous-programme

Ex. de devis:

############################################################################-- suppression des textes associésWNUMTEX = [M:SQH0]SQHTEX1If WNUMTEX <> ""

WRETOUR = 0Call TEX(5,"SQH1","","","",WNUMTEX,"A",WRETOUR) From TRTX3TEXEndifWNUMTEX = [M:SQH0]SQHTEX2If WNUMTEX <> ""

WRETOUR = 0Call TEX(5,"SQH2","","","",WNUMTEX,"A",WRETOUR) From TRTX3TEX

Endif

#-- Maj des statistiquesCall VALSTA("SQH",-1) From SUBPS2If GOK < 1 : Return : Endif###########################################################################

12.2.5.3. AP_ANNULE

 Action lancée après la transaction de suppression si la transaction s‟est déroulée avec succès 

Sert à :Mettre à jour une table secondaire

Page 92: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 92/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 92

12.3. GESTION TABLE D’ENTETE PLUS TABLE DE DETAIL 

12.3.1. Principe

Gestion table entête + table détail

La gestion du modèle objet ne gère par défaut qu‟une seule table, la table liée à l‟objet. 

Or il est souvent nécessaire de gérer sur un même objet un entête et des lignes détail. Pour permettrecette gestion un traitement standard (TABLEAUX) est disponible.

L‟objectif est de créer, afficher, modifier et supprimer un objet avec ses lignes de détail.

Par exemple pour la gestion des devis :Objet SQH, table entête SQUOTE table détail SQUOTED.

12.3.2. Utilisation

L‟appel de ce traitement TABLEAUX permet la gestion de la table de détail. Les différentes actions àappeler du traitement sont énumérées ici.

12.3.3. Gestion détail en création

gestion détails : en création

Transaction sur table principale de l‟objet

INICRE_LIG après l‟écriture de l‟enregistrement entêteaprès le chargement de la classe [F] détailavant l‟écriture de l‟enregistrement détail

sert à compléter la classe [F] détail

VALLIG appelée après l‟écrituresert à traiter d‟autres tables liées au détailTRTLIG = CSIGN = +1GERRGMESSAGEGOK

Trbegin

INICRECREATION   gosub CREATION From TABLEAUXCommit

Modèle « objet »

Copyright © Sage 2009-2010 48Safe X3 Développement

Page 93: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 93/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 93

L‟exécution des actions se fait dans l‟ordre suivant :

CREATIONDEFLIG exécuté 1 seule foisINICRE_LIG `` pour chaque ligne détail

VALLIG

VALLIG : Pour chaque ligne détail traitée, le superviseur nous envoie le contexte :TRTLIG = C, M, A ( création, modification, annulation )SIGN = +1 ( pour création et modif après le rewrite )

-1 ( pour annulation et modif avant le rewrite )

Les lignes non modifiées ne sont pas traitées.

12.3.4. Gestion détail en modification

gestion détails : en modification

LIENS gosub LIENS From TABLEAUX

LIENS_LIG après le chargement de la classe [M] détail

avant l‟affichagesert : compléter la classe [M] détail

Modèle « objet »

 V 

I

S

U

[ M]=[F]

Copyright © Sage 2009-2010 49Safe X3 Développement

Page 94: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 94/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 94

L‟exécution des actions se fait dans l‟ordre suivant :

LIENSDEFLIG exécuté 1 seule foisLIENS_LIG `` pour chaque ligne détail

LIENS_LIGNOL = 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 stockIf [F:ITM]ITMREF <> [F:SQD]ITMREF

Read [F:ITM]ITM0 = [F:SQD]ITMREFIf fstat Raz [F:ITM] : Call RSTA ("ITM",[F:SQD]ITMREF) From GLOCK Endif

Endif[M:SQH2]STOMGTCOD(NOL) = [F:ITM]STOMGTCOD###########################################################################

gestion détails : en modification

INICRE_LIGINIMOD_LIG après ré-écriture enregistrement entête

après le chargement de la classe [F] détailavant ré-écriture enregistrement détail

sert : compléter la classe [F] détail

VALLIG appelée après la ré-écrituresert : traiter une autre table liée au détail

Trbegin

AVANT_MODFIC

INIMODMODIF   gosub MODIF From TABLEAUX

Commit

Modèle « objet »

Copyright © Sage 2009-2010 50Safe X3 Développement

Page 95: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 95/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 95

L‟exécution des actions se fait dans l‟ordre suivant :

MODIFDEFLIG exécuté 1 seule foisINICRE_LIG `` pour chaque création ligne détail

VALLIG

INIMOD_LIG `` pour chaque modification ligne détailVALLIG avant la réécritureVALLIG après la réécriture

VALLIG `` pour chaque suppression ligne détail

L‟exécution des actions se fait dans l‟ordre suivant :

 ANNULEDEFLIG exécuté 1 seule foisVALLIG `` pour chaque ligne détail

gestion détails : en suppression

VALLIG appelée après la suppression du détailsert : traiter une autre table liée au détail

Trbegin

ANNULE gosub ANNULE From TABLEAUX

Commit

Modèle « objet »

Copyright © Sage 2009-2010 51Safe X3 Développement

Page 96: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 96/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 96

12.3.5. Définition des paramètres

12.3.5.1. DEFLIG

 Action appelée avant les actions sur table détail par le traitement TABLEAUX lui-même

Sert àPositionner des variables nécessaires au traitement TABLEAUX

Exemple des devis :

###########################################################################$DEFLIGDefault Mask [SQH2]Default File [SQD]CRIT = 'SQHNUM="'+[M:SQH0]SQHNUM+'"'FICLIG = "SQUOTED" : ABLIG = "SQD"

ZONLIG = "SQDLIN"Return##########################################################################DEFLIG$DEFLIG# Critère de lecture (CRIT)# Nom du fichier (FICLIG)# Abréviation du fichier (ABLIG)# Zone numéro de ligne (ZONLIG)#----------------------------------#

12.3.5.2. Champs nécessaires à déclarer dans l‟écran 

gestion détails : champs nécessaires à déclarer dans l‟écran Exemple écran SOH4

NBLIG (nom fixe) variable de bas de tableau

UPDFLG (nom fixe) flag identifiant une ligne modifiée, champ invisible

CREFLG (nom fixe) flag identifiant une ligne créée, champ invisible

SQDLIN nom du champ de la table détail contenant le no de ligne, champ invisible

Contrôle : contrôle possibilité d‟insertion ligne à positionner sur la variable de bas de tableauDIVLINCONT avec paramètre = nom champ du no ligne

 Après-ligne : attribution du no de ligne (de 1000 en 1000) à positionner sur la variable de basde tableauDIVLINNUM avec paramètre = nom champ du no ligne

Page 97: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 97/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 97

12.3.5.3. Variables utilisables

Variable [V]GOK

à positionner dans les actions appelées durant une transaction.

[V]GOK = -1Verrouillage d‟information 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 d‟informations :

 Abandon de la transaction par l‟instruction RollbackNouvelle tentative (jusqu‟à concurrence d‟un nombre de tentatives défini par la variable GROLLBACK) 

Variable [L]OK

 À positionner dans certaines actions appelées hors d‟une transaction(ex : VERIF_CRE).

[L]OK = 1 (tout est OK)

[L]OK = 0 (réaction différente en fonction des actions)

Ex : OK = 0 dans VERIF_CRE : Abandon de la créationEx : OK = 0 dans AV_LISTE & AV_IMPRIME : pas de déclenchement de l‟impression. 

Page 98: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 98/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 98

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

12.4.1. Objectif

Développer une gestion des commandes en ajoutant du spécifique au standard. Un traitement

standard SUBYOX a été créé pour la gestion entête détail.Cette gestion s‟appuiera sur votre gestion article YIX et gestion client YCX. 

12.4.2. Marche à suivre

Modification des tables YORDHEAX et YORDDETX.Création des écrans YOX0, YOX1, YOX2.Création de l‟objet YOX.

Pour ce faire, utiliser les descriptions ci-dessous.

Table des entêtes de commande

Code table : YORDHEAX Abréviation : YHXModule : Tronc commun

Zone Type de la zone Dim. Particul. Intitulé

YORDNUM Alphanumérique 15 1 oui No commande

YFCY Alphanumérique 3 1 Site

YBPCNUM Alphanumérique 10 1 Client

YORDDAT Date 1 Date

YBPALIG Alphanumérique 35 3 Ligne adresse

YPOSCOD Alphanumérique 10 1 Code postal

YCTY Alphanumérique 30 1 Ville

YORDTOTNOT Décimal 13.2 1 En commande HT

YORDTOTATI Décimal 13.2 1 En commande

YHXSTA Menu local 1 1 Soldée

YDLVDAT Date 1 Date livraison demandée

YSHIDAT Date 1 Date expédition

YMDL Alphanumérique 3 1 Mode livraison

YBPTNUM Alphanumérique 10 1 Transporteur

EXPNUM Entier long 8 1 Numéro export

CREUSR Alphanumérique 5 1 Opérateur création

CREDAT Date 1 Date création

UPDUSR Alphanumérique 5 1 Opérateur modif

UPDDAT Date 1 Date modif

Index Descripteur de l‟index  HomonymesYHX0 YORDNUM Non

Page 99: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 99/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 99

 YORDNUM :Type de donnée VCR.

Type de donnée VCR :Type de donnée utilisé pour les compteurs de document.Voir ces caractéristiques :

Longueur banalisée de 17 caractères.Option d‟affichage M. Conversion automatique des lettres en majuscules.

Table des détails de commande

Code table : YORDDETX Abréviation : YDXModule : Tronc commun

Zone Type de la zone Dim. Particul. Intitulé

YORDNUM Alphanumérique 15 1 oui No commande

YORDLIN Entier long 8 1 No ligne

YITMREF Alphanumérique 20 1 Article

YUOM Alphanumérique 3 1 Unité

YQTY Décimal 9.2 1 Quantité

YVATRAT Décimal 3.2 1 Taux Taxe

YORDNOT Décimal 13.2 1 Prix unitaire HT

YORDATI Décimal 13.2 1 Prix unitaire TTC

YDXSTA Menu local 1 1 Soldée

EXPNUM Entier long 8 1 Numéro export

CREUSR Alphanumérique 5 1 Opérateur création

CREDAT Date 1 Date création

UPDUSR Alphanumérique 5 1 Opérateur modif.

UPDDAT Date 1 Date modif

Index Descripteur de l‟index  Homonymes

YDX0 YORDNUM+YORDLIN Non

 YORDNUM :Type de donnée VCR.

Pour activer les automatismes de la sélection et du tunnel sur objet, pour les champs liés à ce type de donnée.Paramétrer le code de l‟objet dans le paramètre VCROBJ.  

Page 100: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 100/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 100

Ecrans des Commandes

Ecran d‟entête « identification »

Code écran : YOX0 Abréviation : YOX0Traitements associés : SUBYOX standard

SPEYOX spécifique

Champ Saisie Oblig. Particularités Dévelop.

YORDNUM S Type de donnée lié au compteur VCR

 Alimenter le numéro de commande à la création Oui

Paramétrer le type VCR pour que l‟utilisateur puissesélectionner les commandes sur clique droit du champ

Non saisissable en Création Oui

Contrôler que la valeur saisie corresponde bien à unecommande existante. Vous remarquerez que, de ce fait, oninterdit la duplication.

Oui

YHXSTA S Case à cocher

(Saisie : S Saisie / A Affiché / I Invisible)

Remarque :Pour la mise en place des traitements liés au compteur, une aide est disponible au chapitre 12.4.4Informations techniques et au chapitre Affecter un numéro de commande.

Page 101: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 101/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 101

Affecter un numéro de commande

Créer un compteur YOX par la fonction Paramétrage>Paramètres généraux>Compteurs avec lescaractéristiques suivantes :

Niveau de définition : SiteNiveau raz : MensuelType séquence : NormalConstruction du compteur :

o Constante CDE 3 caractèreso Mois 2 caractèreso Année 2 caractèreso Site 5 caractèreso Séquence 5 caractères

Sous-programme à utiliser NUMERO From SUBANM.Les paramètres sont :

Value char CODE_COMPTEURValue char SITEValue date DATEValue char COMPLEMENTVariable char VALEUR_COMPTEURVariable integer STATUT

Les 2 variables retournées au sous-programme sont :Variable char VALEUR_COMPTEUR (valeur pour no de la commande)Variable integer STATUT (Si aucune erreur, STATUT=0)

Changer les caractéristiques du numéro de commande

En création, ce champ est non saisissable. Affecter un numéro de commande et l‟afficher. Dans les autres cas, on interdit une valeur ne correspondant pas à une commande déjàexistante. On interdit ainsi la duplication.

Page 102: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 102/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 102

Onglet 1 « général »

Code écran : YOX1 Abréviation : YOX1

Traitements associés : SUBYOX standardSPEYOX spécifique

Champ Saisie Oblig. Particularités Dévelop.

YFCY S Oui Contrôle / Sélection / Tunnel sur les sites standards

 Affichage du libellé court

Saisissable uniquement en création Oui

YBPCNUM S Oui Contrôle / Sélection / Tunnel sur vos clients

 Affichage du libellé long

Filtre pour sélection des clients non prospect

YORDDAT S Oui Initialisation par la date du jour en création OuiYBPALIG S Alimenté par le client Oui

YPOSCOD S Alimenté par le client Oui

YCTY S Alimenté par le client Oui

(Saisie : S Saisie / A Affiché / I Invisible)

Page 103: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 103/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 103

Onglet 2 « lignes »

Code écran : YOX2 Abréviation : YOX2

Traitements associés : SUBYOX standardSPEYOX spécifique

Champ Saisie Oblig. Particularités  Dévelop.

YITMREF S Oui Contrôle / Sélection / Tunnel sur vos articles

YUOM S Oui Contrôle / Sélection / Tunnel sur les unités standard

 Alimenté par l‟article  Oui

YQTY S Oui Positif

YORDNOT S Oui  Alimenté par l‟article  Oui

YVATRAT S  Alimenté par l‟article  OuiPositif

YORDATI A Calculer à partir du prix HT et la TVA Oui

YORDTOTNOT A Cumul des lignes ( HT * QTE ) attention cette information nedoit pas faire partie du tableau

Oui

YORDTOTATI A Cumul des lignes ( TTC * QTE ) attention cette informationne doit pas faire partie du tableau

Oui

(Saisie : S Saisie / A Affiché / I Invisible)

Objet des commandes

Code objet : YOX

Fenêtre des commandes

Code fenêtre : OYOX

Page 104: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 104/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 104

12.4.3. Spécifique à développer

Contrôler en fin de saisie qu‟au moins une ligne ait été renseignée. Ajouter le champ « raison sociale » du client (paramétrage)

12.4.4. Informations techniques

La date du jour : variable système date$Numéro de ligne courante variable système nolign-1 Statut retour après opération sur table variable système fstat

Déclaration d‟une variable caractère : Local char nom_varDéclaration d‟une variable numérique : Local integer nom_var

Ouverture d‟une table : Local File table [abrev ]

Lecture : Read [abrev ] index = champ Lecture lockée : Readlock [abrev ] index = champLecture sans récupération enregistrement : Look [abrev ] index = champMise à jour d‟un enregistrement : Rewrite [abrev ]

 Augmentation de la valeur d‟un champ : champ += nombreDiminution de la valeur d‟un champ : champ -= nombre

 Alimentation d‟un champ écran à partir de celui d‟une table :

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

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

12.4.5.  A vérifier

Création, duplication, modification, suppression de commandesSite non saisissable en modificationTunnel vers la gestion client et la gestion article.Initialisation de champs par le client et l‟article  En gestion Client : suppression non autorisée d‟un client qui a passé une commandeEn gestion Article : suppression non autorisée d‟un article commandé

Initialisation de la date par la date du jourClient prospect interdit Article non actif interditFormat de la date de commandeSuppression de ligne détail commandeEn création de commande, affectation automatique d‟un numéro de commande Calcul du TTC de chaque ligneCalcul des totaux HT et TTC

Page 105: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 105/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 105

Mettre à jour la table client YCUSTOMX.

Lors de la création, modification ou suppression d‟une commande, mettre à jour la fiche du client par :le montant HT et TTC ainsi que la date de dernière commande.

A vérifier

Mise à jour de la table client.

Notes

Page 106: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 106/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 106

Page 107: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 107/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 107

12.5. GESTION DES BOUTONS /MENUS 

Les Boutons / Menus

Les boutons menus et bas d‟écrans spécifiques sont à   déclarer dans la fenêtre onglet« Boutons/menus ».

Un sous-menu est rattaché à son menu d‟origine par la première lettre de son code menu.  Un menupeut déclencher les actions sur champ de type contrôle de la fenêtre si celui-ci est validant.

Dans cette fenêtre on peut affecter un titre aux menus, affecter l‟action à exécuter , ajouter un codeactivité s‟il s‟agit d‟un menu spécifique. 

12.5.1.  Action sur modèle objet

SETBOUTPar défaut les boutons sont tous activés.

# Suppression du bouton supprimer si devis partiellement ou totalement cde###########################################################################If !CLECUR | [M]QUOSTA <> 1

Call VIREBOUT(CHAINE,"A") From GOBJETEndif###########################################################################

 AVANTBOUT

###########################################################################Case BOUT When "A" : # Contrôle des autorisations

Gestion des boutons

SETBOUT Désactivation des boutonsUtiliser le sous-pro VIREBOUT pour enlever le code bouton(s) de la variable CHAINE

AVANTBOUT  Avant l‟exécution du boutonle code bouton est disponible dans la variable BOUT

EXEBOUT  Après l   ‟exécution du boutonle code bouton est disponible dans la variable BOUT

Modèle « objet »

 Action Dico déclaré dans la fenêtre Action Dico déclaré dans la fenêtre

Copyright © Sage 2009-2010 53Safe X3 Développement

Page 108: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 108/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 108

GBIDC2= "A": Gosub AUTORIS_OPT From CONTX3If !GBIDI2 : GERR = 1 : GMESSAGE = mess(2,104,1) : Return : Endif…. 

Endcase

EXEBOUT###########################################################################Case BOUT When "a" : GFONC1=WFONC1 : # Proforma

Gosub RELIT From GOBJSUB # Permet d‟actualiser le browser courant Endcase###########################################################################

Le code bouton doit être différent de ceux possibles pour les boutons prédéfinis. Les codes standardsétant soit des numériques soit des lettres majuscules, les code boutons spécifiques doivent donc êtredes lettres minuscules.

SETBOUTPar défaut les menus sont actifs mais les lignes ne le sont pas.###########################################################################

: # activation des lignes menu préciséesCHMEN += "b"Gosub SET_BOUT_SPE From GSAISIE

 AVANTBOUTCase BOUT When "i" : [M]CNTNAM=[M:ADB2]CNTNAM : # Adresse livraison

Gestion des menus

SETBOUT  Activation des lignes de menuCHMEN += « code(s) ligne de menu »Gosub SET_BOUT_SPE From GSAISIE

AVANTBOUT  Avant l‟exécution du menule code menu est disponible dans la variable BOUT

STATUT  Après l  ‟exécution du menule code menu est disponible dans la variable BOUT

Modèle « objet »

 Action dico déclarée dans la fenêtre Action dico déclarée dans la fenêtre

Copyright © Sage 2009-2010 54Safe X3 Développement

Page 109: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 109/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 109

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

EndifIf [M:ADB2]BPRNAM(0) <> ""

[M:SQH1]BPDNAM = [M:ADB2]BPRNAM(0) Affzo [M:SQH1]BPDNAM

EndifEndif

Endcase###########################################################################

12.5.2.  Après bouton / menus / liste gauche

FIN_ACTION  Action lancée après activation (click) d‟un bouton, d‟un menu ou d‟une liste gauche 

Est surtout utilisée pour l‟activation du bouton « Enregistrer »

REP= « M » 

Exemple :

$FIN_ACTIONCase BOUTWhen "a"

If mkstat=4 & GREP=""REP=”M” 

EndifEndcaseReturn

Dans l‟exemple "a" est le code bouton ou menu

mkstat=4 n'est qu'un exemple. Le but est de tester la variable positionnée dans l'action appelée dubouton / menu, qui indique que le contexte de mise à jour est à déclencher. Il est tout à fait possiblede passer par une variable globale.

12.6. LES BROWSERS 

12.6.1. Présentation 

Listes gauche d‟un objet, celles-ci peuvent être filtrées, triées de différentes manières par traitements.

Il est aussi possible d‟ajouter une liste gauche par l‟intermédiaire d‟objet de type browser. Exemple

objet SQ1 ajouté dans la liste gauche de la fenêtre OSOH.

Cette liste peut être de type simple hiérarchisé ou picking.

Page 110: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 110/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 110

Normalisation des browsers :2 premiers caractères de l‟objet1 numéro de 1 à 9

Liste simple25 colonnes max.Clé doit être sans homonymesChamp table secondaire autorisé si expression de lien

Liste hiérarchisée16 niveaux hiérarchiques max.Nb champs de clé constituent le nb de niveaux hiérarchiquesIl faut donc définir des niveaux hiérarchiques ( >= nb champs clé )Si nb de niveaux hiérarchiques > nb champs clé, il y a une concaténation sur le dernier niveauChamp table secondaire autorisé si expression de lien

12.6.2. Types de browser  

Liste gauche principale

liste simple ou hiérarchisée ( picking possible )présente si code objet dans l‟onglet browser (fenêtre) par usage, affichée par défaut

Liste des derniers lus

liste simpleprésente si case cochée

par usage, affichée

Listes gauches secondaires

liste ou picking, simple ou hiérarchiséenécessite le paramétrage d‟un objet de type browser  doit être placé dans l‟onglet browser (fenêtre) 

Nommage superviseurCLE_GAUCHE liste principale (GAU_CHE)CLE_GAUCHE1 à 8 liste secondaireCLE_GAUCHE9 liste derniers lus

Tester [S]currbox

 Automatismes du superviseurRemplissage : non, total, partiel

Partiel sur le browser principalEn fonction du paramètre CHDERLUS, sur les derniers lus

Chargement partie droite : oui, nonoui sur browser principal et derniers lus

ContraintesOn ne peut pas griser ou supprimer un browser ( solution : le laisser vide )On ne peut pas changer l‟ordre des browsers 

Page 111: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 111/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 111

Page 112: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 112/226

Page 113: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 113/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 113

Page 114: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 114/226

Page 115: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 115/226

Page 116: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 116/226

Page 117: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 117/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 117

Xsl (traitement lié au composant écran)Retour d'un statutRecherche d'informationCalculDivers

Traitement :En cas de modèle, ce traitement contient les actions écrites autour de ce modèle.S‟il n‟y a pas de modèle, c‟est le traitement à exécuter directement. 

Instruction Adonixsur traitement divers uniquement%1, %2, … désigne la valeur du paramètre1 et du paramètre2.Exemple : Affzone

 Action suite :Lorsque l‟action principale est terminée, l‟action suite est déclenchée. ( 5 enchaînements maxi.) Sur l‟écran, la fenêtre, ou la fonction, la saisie des paramètres cumule les paramètres de l‟action suite

à ceux de l‟action principale. 

13.3. RENSEIGNEMENT DES PARAMETRES 

Permet de définir tous les paramètres à passer pour l‟action. 

Champ « Zone courante » :Si flag positionné, le 1er  paramètre récupère automatiquement la valeur du champ courant.Intéressant pour une action sur champ.

Champ « Action avant zone » : Appelée d‟un bouton champ, elle permet de prendre la main avant et après l‟action.

Paramètre par valeur : sauvegarde puis restauration du paramètre pour garder sa valeur. L‟argumentest soit une constante, soit une variable.

Paramètre par adresse : modification du paramètre acceptée au retour du sous-programme.L‟argument est obligatoirement une variable.

 Action avant zone : Appelée d‟un bouton champPermet de prendre la main avant et après l‟action au niveau du programme appelant (trait. associé àl‟écran) dans l‟étiquette $ACTION. La variable ACTION a les valeurs

 ABi_zone action avant Bi_zoneBBi_zone action après Bi_zone« i » correspond au numéro du bouton (de 1 à 20), zone au nom du champPermet de positionner des variables globales (ex : GCONSULT) Attention au contexte d‟appel ! 

modèle appelant si action bouton /menutraitement généré écran si action champ

13.3.1. Variable de l‟action 

Sur un modèle : Variable [L]PARAM()(1..)

Contient la valeur des paramètres de l‟action dictionnaire. 

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

Page 118: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 118/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 118

PARAM(2) = valeur 2ème param....

Si zone courante est à oui  VALEUR  = valeur 1er param.PARAM(1) = valeur 2ème param.

V5 : Les paramètres sont des variables alphanumériquesUtiliser la fonction val qui transforme une chaîne de caractères en nombreEx : VARNUM = val(PARAM(1))V6 : Les paramètres peuvent être saisies dans le dictionnaire « Développement>Dictionnairetraitements>Actions>Paramètres Actions » et de tout type.

Page 119: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 119/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 119

13.3.2. Liste des actions standards principales pour le modèle objet 

 Appel d‟une gestion objet : 

GOBJET avec zone courante

GOBJETA avec zone courantepossibilité d‟ajout de développement à l‟appel de la fonction objet GOBJETC sans zone couranteGOBJETN champ clé numérique

Contrôle particulier sur champ clé lié à objet :

CONTOBJW  évite le contrôle d‟existence, valeur obligatoire CONTOBJN  évite le contrôle d‟existence, valeur facultative

Sélection enregistrement d‟une table gérée par objet : 

SELOBJW  sélection avec possibilité d‟appliquer les filtres de sélection.  SELOBJAW  sélection avancée avec possibilité d‟appliquer les filtres de sélection. 

 Action GOBJETAPossibilité de restreindre l‟accès à la gestion objet en positionnant la variable [V]GCONSULT 

Variable [V]GCONSULTLes valeurs possibles sont les suivantes :0 : modification possible1 : modification impossible, accès à tous les enregistrements2 : modification impossible, accès à un seul enregistrement

0 est la valeur par défaut.

Page 120: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 120/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 120

14. MODELE « SAISIE FENETRE »

14.1. DEFINITION 

Ce modèle permet : la saisie d‟informations complémentaires liées à une fenêtre de gestion objet la saisie d‟une fenêtre de critères 

 A l‟inverse du modèle objet, aucun automatisme lié à l‟affichage ou à la sauvegarde des donnéesn‟est exécuté, ceux-ci devront être renseignés dans les traitements si besoin est.

Ce modèle se lance :d‟une fonction, bouton/menu fenêtre, bouton champ. 

Exemple dans la fenêtre des livraisons « Ventes>Livraisons>Livraisons » menus fenêtre« Options>Informations douanières ».

14.2. PARAMETRAGE DE L’ACTION 

 Action de lancement du modèle « Saisie fenêtre »

 Action de type saisie fenêtre.Fenêtre principale : la fenêtre lancée lors de l‟appel de l‟action. Traitement standard/spécifique. Action suite : permet de lancer une action à la suite de celle-ci.

Fenêtre lancée « Saisie fenêtre »Type fenêtre : Divers

 Affichage : –   Boite de dialogue (fenêtre indépendante pas forcément pleine page) –   Plein écran –   Boite message (aucun bouton, menu, browser)

La fenêtre peut contenir boutons, menus, listes gauches, onglets, contrairement à GOBJET, aucuneaction standard n‟est  déclenchée sur les boutons sauf pour : impression, liste, pièce jointe,commentaires, propriétés, fin.

La fenêtre se lance d‟une fonction, bouton/menu fenêtre, bouton champ Le traitement lancé est GSAISIE 

Page 121: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 121/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 121

14.3. ACTIONS SUR MODELE 

14.3.1. OUVRE

 Action lancée en tout début de traitement avant l‟ouverture du masque 

Sert à :

déclarer, alimenter des variables locales, globalesouvrir des tablesafficher un message d‟erreur : GERR = 1

GMESSAGE = « mess »

interrompre le traitement : FIN = 1

sauvegarder la variable nolign : SVNOLIGN=Nolign 

14.3.2. TITRE

 Action lancée avant l‟ouverture de la fenêtre 

Sert à :

Sert à modifier le titre de la fenêtre : TITTitre de la fenêtre

Par défaut, il est alimenté par la désignation de la fenêtre stockée dans le dico des fenêtres.

OUVRE début traitement

TITRE avant l‟ouverture de la fenêtre

DEBUT avant la saisie de la fenêtre

APRES_MODIF après la modification de chaque champ

FIN après la saisie de la fenêtre

FINSAI fin de traitement

ABANDON en cas d‟abandon

Saisie Fenêtre

Saisie

 Affichage

Copyright © Sage 2009-2010 61Safe X3 Développement

Page 122: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 122/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 122

14.3.3. DEBUT

 Action lancée avant la saisie de la fenêtre

Sert à :

pré-charger l‟écran, avec nécessité de faire l‟Affzo afficher un message d‟erreur : GERR = 1

GMESSAGE = « mess »interrompre le traitement : FIN = 1

14.3.4.  APRES_MODIF

 Action lancée après la saisie de tout champ

Sert à :

activation boutons ENREGISTRER et ABANDON : REP= « M »

Saisie fenêtre : Action événementielle

APRES_MODIF

traitement SUBxxx ou SPExxx

cinématique

sur champ

$ACTIONCase [L]ACTION

When "APRES_MODIF" : Gosub APRES_MODIFWhen default

EndcaseReturn

$ APRES_MODIF

REP= « M »return

$ACTIONCase [L]ACTION

When "APRES_MODIF" : Gosub APRES_MODIFWhen default

EndcaseReturn

$ APRES_MODIF

REP= « M »return

Saisie Fenêtre

 AV_zoneD_zone AS_zoneC_zone AP_zone AM_zone

[L]ACTION = "APRES_MODIF"Gosub ACTION

 AV_zone

D_zone AS_zoneC_zone AP_zone AM_zone

[L]ACTION = "APRES_MODIF"Gosub ACTION

Copyright © Sage 2009-2010 62Safe X3 Développement

Page 123: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 123/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 123

se déclenche pour tout champ modifié après l‟action sur champ AM_zone, avant lamise à jour de la classe [M].

se déclenche dans $ACTION du traitement SUBxxx ou SPExxx par GOSUB

variables système utilisables :nom du champ courant : zoncouvaleur du champ courant : zc indice du champ courant : indice 

variables locales utilisables :nom du champ courant : COUZONvaleur du champ courant : CZ indice du champ courant : COUIND 

Ex : SUBBPT (transporteur)

#############################################################################$APRES_MODIFLocal Integer OKWEU#---- si saisie de donnée poids et pas de saisie de unité poids : messageCase COUZON When "ADL", "BKT", "PLIMAX", "PLIBKT" : Gosub CONT_WEUWhen Default

Endcase

$CONT_WEUIf val(CZ)<>0 & [M:BPT1]WEU=""OKWEU=2

Call AVERTIR(mess(169,192,1),OKWEU) From GESECRANEndifReturn#############################################################################

14.3.5. FIN

 Action lancée après la saisie de la fenêtre

Sert à :

Restaurer la variable nolign : Nolign= SVNOLIGN

14.3.6. FINSAI

 Action lancée en fin de traitement

Sert à :

Rafraîchir la fenêtre d‟appel :  NBAFF= 1

Page 124: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 124/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 124

14.4. GESTION DES BOUTONS /MENUS 

Bouton actif par défaut(*) 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 fenêtre)Enregistrer ENR code bouton = ECréer CRE CSupprimer SUP S Abandon ABA AOk OK O (sortie fenêtre)Nouveau NEW NPremier FIR 0Dernier LAS 9Précédent PRE <Suivant SUI >Sélection SEL XChangement de clé CHG HImpression EDI IListe LIS LPièces jointes JOI JCommentaires COM MPropriétés PRO P

Boutons Pré-définis

SETBOUT Désactivation des boutons(« Enregistrer » et « Abandon » sont grisés par défaut  pour les activer REP=« M » en APRES_MODIF)

Call VIREBOUT (CHBOU, « x ») From GOBJETGosub SET_BOUT_STD From GSAISIE

AVANT_xxx   Avant l‟exécution du bouton

XXX    Après l   ‟exécution du boutonpour sortir de la fenêtre FIN=1(sortie automatique pour bouton « OK » et « FIN »

Saisie Fenêtre

 Action Dictionnaire Action Dictionnaire

Copyright © Sage 2009-2010 63Safe X3 Développement

Page 125: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 125/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 125

 Activation Bouton

Bouton actif par défaut

Exécution boutonPar défaut, ne sort pas de la fenêtre.Pour sortir, faire FIN=1

Particularité : Action SPE ou STD Autorisées s‟il n‟y a pas d‟ouverture de fenêtre à faire. Il n‟y a pas de traitement lié à l‟action dictionnaireLe traitement lié au bouton est à écrire dans l‟action BOUTON

Boutons Spécifiques

SETBOUT Désactivation des boutons

Call VIREBOUT (CHMEN, « x ») From GOBJET

Gosub SET_BOUT_SPE From GSAISIE

AVANT_BOUTON  Avant l‟exécution du boutonla variable BOUT contient le code bouton

BOUTON  Après l  ‟exécution du boutonla variable BOUT contient le code bouton

pour sortir de la fenêtre FIN=1

Saisie Fenêtre

 Action Dictionnaire Action Dictionnaire

Copyright © Sage 2009-2010 64Safe X3 Développement

Page 126: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 126/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 126

 Activation Menu

Menu actif par défaut

Exécution MenuPar défaut, ne sort pas de la fenêtre.Pour sortir, faire FIN=1

Particularité : Action SPE ou STD Autorisées s‟il n‟y a pas de ‟ouverture de fenêtre à faire. Il n‟y a pas de traitement lié à l‟action dictionnaireLe traitement lié au bouton est à écrire dans l‟action MEN 

Menus

SETBOUT Désactivation des menus

Call VIREBOUT (CHMEN, « x ») From GOBJET

Gosub SET_BOUT_SPE From GSAISIE

AVANT_MEN  Avant l‟exécution du menula variable BOUT contient le code menu

MEN  Après l  ‟exécution du menula variable BOUT contient le code bouton

pour sortir de la fenêtre FIN=1

Saisie Fenêtre

 Action Dictionnaire Action Dictionnaire

Copyright © Sage 2009-2010 65Safe X3 Développement

Page 127: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 127/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 127

14.5. GESTION DES BROWSERS 

14.5.1. Présentation

Liste gauche principalePas de liste principale

Liste des derniers lusPas de liste des derniers lus

Listes gauches secondairesliste ou picking, simple ou hiérarchiséenécessite le paramétrage d‟un objet de type browser  doit être placé dans l‟onglet browser (fenêtre) 

Nommage

CLE_GAUCHE1 à 8 liste secondaire

 Automatismes du superviseurListes : remplissage de la liste (non, partiel, total)

sélection charge la partie droite ( si browser=oui)Picking : remplissage de la liste (non, partiel, total)

un niveau par élément de clé ( 16 max. )

ContraintesOn ne peut pas griser ou supprimer un browser ( solution le laisser vide )On ne peut pas changer l‟ordre des browsers 

14.5.2.  Actions sur modèle

TIR Première action

FILGAUCHE  Filtrer les enregistrementsFILGAUCHE(0..1) += « » pour le standardFILGAUCHE(2) += « » pour le spécifique pour liste secondaire

CLE_GAUCHE  Pour modifier la clé de triListe simple et picking simpleSNSLIS 1=ascendant, 2=descendant

LENLIS nombre d‟éléments dans la clé CLELISTE chaîne de 250 caractères. Liste champs composant la clé séparéspar le caractère « ; »

AP_FILGAUCHE Durant l'affichage de la liste

Page 128: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 128/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 128

14.6. EXERCICE : MENU DANS GESTION COMMANDE 

14.6.1. Objectif

Développer un traitement qui permettra de saisir des informations complémentaires dans une fenêtre

appelée depuis la gestion commande GESYOX, par la barre de menu. On profitera de la transactionde mise à jour de l‟objet pour  mettre à jour la table entête.

14.6.2. Marche à suivre

Créer un écran XLIV Créer une fenêtre XLIV Créer une action XLIV Ecrire un traitement XLIV Appel de cette fenêtre de saisie depuis un menu de la gestion des commandes.

Pour ce faire, utiliser les descriptions ci-dessous.

L’écran XLIV 

Code écran : XLIV Abréviation : XLIVTraitements associés: XLIV spécifique

Champ Saisie Oblig. Particularités Dévelop.

YDLVDAT S Non « Date de livraison demandée »YSHIDAT S Non « Date d‟expédition »

Elle doit être inférieure ou égale à la date de livraisondemandée.

Oui

YMDL S Non « Mode de livraison »

Contrôle / Sélection / Tunnel

 Affichage du libellé long

YBPTNUM S Non « Transporteur »

Contrôle / Sélection / Tunnel

 Affichage du libellé long

Page 129: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 129/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 129

La fenêtre XLIV

Code fenêtre : XLIV

Boutons bas d‟écran : Ok, Abandon, Fin

Le traitement XLIV

Le principe de ce traitement est de permettre une saisie complémentaire, par une fenêtresupplémentaire à la fenêtre principale de gestion des commandes.La mise à jour des informations de la fenêtre XLIV se fera par la transaction de l‟objet. Pour ce faire, on crée les champs de l‟écran XLIV en invisible dans l‟écran YOX0. 

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

l‟alimentation des informations dans la classe [M : YOX0] à l‟affichage de la fenêtre OYOX, la mise à jour de l‟enregistrement YORDHEAX à partir de la classe [M :YOX0]

Ce qu‟il nous reste à développer  :

 Avant la saisie dans la fenêtre, basculer le contenu des champs invisibles de l‟écran  YOX0 dans l‟écran XLIV. 

 A l‟activation du bouton OK, on fait un transfert de classe [M :XLIV] vers [M : YOX0]

Saisie dans cette fenêtre XLIV :

Si la commande n‟est pas soldée : les champs sont saisissablesSi la commande est soldée : les champs sont grisés

Gestion des boutons :

OK : on ferme la fenêtre et on récupère les données.FIN : on ferme la fenêtre sans récupération des donnéesABANDON : on reste sur la fenêtre et on réinitialise les données

14.6.3.  A vérifier

Fenêtre saisissable ou pas en fonction du statut de la commandeSaisie + OkSaisie + AbandonSaisie + FinMise à jour des informations dans la table des commandes

Page 130: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 130/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 130

Notes

Page 131: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 131/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 131

15. MODELE « TRAITEMENT STANDARD »

15.1. DEFINITION 

Ce modèle permet : saisie d‟une fenêtre de critère, boite de dialogue, ou simple confirmation saisie d‟une fenêtre principale exécution d‟un traitement procédural silencieuxil peut être lancé en batch, par la soumission des requêtesgénérer une trace

Ce modèle n‟a rien à voir avec les traitements standards X3 

Ce modèle se lance :d‟une fonction, bouton/menu fenêtre, bouton champ.

Exemple : « Ventes>Livraisons>Livraisons automatiques »

Traitement standard

Écrans

Traitement superviseur GTR ITE

Traitement standard

Traitement spécifique

Traitement standard

Traitement vertical

Traitement spécifique

Fenêtrecritères

Action

Fonction

Tâche

Abonnement

ÉcransTraitement standard

Traitement verticalTraitement spécifique

FenêtrePrincipale

Soumission en batch

Lancement automatique

avec p

 

riodicit

 

B TCH

Copyright © Sage 2009-2010 68Safe X3 Développement

Page 132: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 132/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 132

15.2. PARAMETRES 

 Action de lancement du modèle « Saisie fenêtre »

action de modèle Traitement standard.traitement standard / traitement spécifiquefenêtre principale, venant en ajout après la fenêtre de critère (peu renseignée)saisie initiale

= sans saisie initiale= confirmation oui / non= boite de dialogue + fenêtre de critères= saisie de fenêtre + fenêtre de critères (modèle saisie fenêtre)= sélection de table= sélection de liste

Traitement standardLe traitement superviseur lancé est GTRAITE

Remarque Actions à écrire sur le même traitement pour :

fenêtre principalefenêtre de critèressélection tablesélection liste

[L]BOITE permet de dissocier les 2 fenêtres.

Page 133: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 133/226

Page 134: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 134/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 134

Remplacer la fenêtre précisée dans l‟action : BCRIT = « fenêtre critères »BOITE = « fenêtre principale »

Message de confirmation :

Il faut indiquer le message.Le superviseur gère les boutons « oui » « non ».non : déclenche la fin du traitement standard (équivalent à FIN=1)

Boîte de dialogue :Il faut créer l‟écran et la fenêtre avec les boutons prédéfinis « ok» « fin ».Le superviseur gère les boutons « ok» « fin ».fin : déclenche la fin du traitement standard (équivalent à FIN=1)

Saisie fenêtre :Il faut créer l‟écran et la fenêtre Le superviseur utilise le modèle « saisie fenêtre ».Obligation d‟ouvrir le masque dans l‟action INIT  

Pour connaître le bouton activé, tester GSTATUT dans les actions CONTRÔLE, EXEC.Sélection Table / Sélection liste :Pas d‟écran, pas de fenêtre à créer   Alimentation de la fenêtre par traitementVariable VALEUR est alimentée en retour.

15.3.2.  AVANT_PAR

 Action lancée avant l‟ouverture de la fenêtre de critère, possibilité de boucler sur la saisie desparamètres dans l‟action « CONTROLE » et « EXEC ».

Sert à :

inhiber la fenêtre de saisie de critères : TYPPRG = 0

Page 135: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 135/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 135

15.3.3. INIT_DIA

 Action lancée seulement pour une boite de dialogue avant l‟affichage de cette fenêtre. 

Sert à :

affecter des champs de cette fenêtre

Attention ! Actzo, Diszo, & Grizo ne sont pas disponibles dans cette actionOn pourra les utiliser dans les actions sur champs (ex : en avant_zone du champ courant)

L‟abréviation DIA n‟est plus obligatoire pour l‟écran.  

15.3.4. Gestion des saisies fenêtre

#############################################################################$ACTIONCase ACTIONWhen « INIT » Gosub INIT…. # actions du modèle saisie fenêtreWhen « DEBUT » Gosub DEBUT… Endcase

Return

$init

cas des saisies fenêtre

Traitement standard

INIT

Call « Saisie fenêtre » Fenêtre de critères

Toutes les actions liées à ce modèle « saisie fenêtre »

Call « Saisie fenêtre » Fenêtre principale

Toutes les actions liées à ce modèle « saisie fenêtre »

EXEC

Traitement standard

2èmeniveau de localité

Local Mask nom_mask [abrev]

Copyright © Sage 2009-2010 70Safe X3 Développement

Page 136: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 136/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 136

Local mask XXX [XX]return

$ DEBUTCase BOITE 

When « code_fenêtre » Gosub … When « code_fenêtre » Gosub … EndcaseReturn#############################################################################

15.3.5. CONTROLE

 Action lancée après la saisie des paramètres de lancement dans la fenêtre de critères, exécutéesystématiquement

Sert à :

effectuer les derniers contrôles avant traitementGSTATUT permet de connaître le bouton activé en saisie fenêtreafficher un message d‟erreur : GERR = 1

GMESSAGE = «mess»interrompre le traitement : FIN = 1retourner à la saisie des paramètres : SAI = 1Positionnement du curseur (nom de champ) : zonsui

afficher un message d‟attente :  TMP = 1message d‟attente :  TIT = x

TIT : code texte du message d‟attente V « validation en cours ...»F « vérification en cours ...»L « lecture en cours ...»E « écriture en cours ...» A « annulation en cours ...»R « recherche en cours ...»C « calcul en cours ...»

« opération en cours ... »

texte spécifique à afficher (dans une chaîne de 50 caractères)

Variable SAI :

SAI=1 retour en saisie, juste avant l‟action AVANT_PAR (en mode interactif)

15.3.6. EXEC

 Action lancée une fois les contrôles OK

Sert à :

lancer votre traitementGSTATUT permet de connaître le bouton activé en saisie fenêtreafficher un message d‟erreur : GERR = 1

GMESSAGE = «mess»interrompre le traitement : FIN = 1ouvrir & fermer la trace

Page 137: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 137/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 137

affichage trace : TRA = 1 ou 9retourner en saisie paramètresaprès exécution de ce traitement : SAI = 1

Variable TRA :

0 pas d‟affichage & conservation de la trace 1 affichage & conservation de la trace9 affichage & suppression de la trace

Ouverture & fermeture trace :Call OUVRE_TRACE(« titre ») From LECFICCall 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 utilisées sont celles paramétrées dans le menu Outils / OptionsVariable SAI :

1 retour en saisie, juste avant l‟action AVANT_PAR, en mode interactif  aucun effet en mode batch

Trbegin  – Commit :Pour un traitement de mise à jour, définir la transaction

15.3.7. TERMINE

 Action lancée après l‟action EXEC

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

Sert à :

même possibilité que l‟action EXECPar contre, exécution unique

15.3.8. SORTIE

 Action lancée en fin de modèle

Sert à :

charger des variablesindiquer au programme appelant d‟activer le bouton enregistrerpar mkstat = 4 ou une variable globale

 Activation du bouton Enregistrer :

Il sera nécessaire d‟écrire dans l‟action SETBOUT de l‟objet appelant :If mkstat = 4 & GREP = « » : REP = « M » : Endif

Page 138: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 138/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 138

15.4. ACTION SUR MODELES : MODE BATCH 

15.4.1. Etape interactive : le lancement

Etape 1 :

- Saisie des paramètres- Le superviseur les stocke dans la table ABATRQT

Le lancement ce fait via le menu « Exploitation>Serveur batch>Soumission des requêtes ».

Renseignements des informations de lancement :Le dossier sur lequel va être exécuté le traitementL‟utilisateur, permet de vérifier les droits d‟accès aux requêtes. Un groupe ou une tache à exécuter, il s‟agit de la requête contenant la fonction ou letraitement à exécuter. Cette tâche est à créer dans le menu « Exploitation>Serveurbatch>Gestion des taches ».

Date et heure de lancement.

Soumission d‟une requête : Recherche de la tâche associéeContrôle des droits de l‟utilisateur  Saisie des paramètres nécessaires au lancement du traitementCréation de la requête avec stockage des paramètres, code tâche, traitement à exécuter

Création Requête :Le champ DEB(15)(80) contient le nom du champ dans l'écran de saisie des critèresLe champ FIN(30)(80) contient la valeur de ce champ.Si la valeur du champ>30, les caractères>30 sont mis sur l'indice suivant.Si + de 80 champs, on enregistre la requête courante avec DEB(79)="&"

et on crée un deuxième enregistrement (no de requête +1) avec FLAG=99

Variable identifiant le contexte :GBATCH = 1, si le traitement est lancé par le serveur batch.

Page 139: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 139/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 139

15.4.2. Les actions sur modèles

Soumission d‟une requête - phase 12 actions propres aux batchs

OUVRE-BATCH :Possibilité d‟ouvrir une fenêtre différente en positionnant BCRIT pour le code fenêtre

CONT-BATCH :Permet les contrôles dès la saisie des paramètresPossibilité identique à l‟action CONTROLE du lancement interactif.  

Etape interactive : le lancement

OUVRE_BATCH après le bouton validation de cette fenêtre

INIT_DIA avant l‟affichage de la boite de la dialogue

pour saisie des paramètres

CONT_BATCH après la saisie de cette fenêtre

Traitement standard : batch

fenêtre de crit ères

Stockage dans table requêtes[F]=[M]

Soumission de requêtes

Copyright © Sage 2009-2010 71Safe X3 Développement

Page 140: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 140/226

Page 141: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 141/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 141

15.4.4. Exécution en mode batch

Soumission d‟une requête - phase 2 :C‟est le modèle GTRAITE qui est utilisé.La lecture de la requête alimente l‟écran de saisie des paramètres. L‟ouverture et la fermeture de la trace est prise en charge par le superviseur.

Attention ! Il n‟y pas de saisie de fenêtre principale.

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

Attention aux licences d’exécution des taches batch !

Les traitements silencieux sont en général des traitements couteux en ressources. Pour trouver lespossibilités d‟amélioration des performances un Utilitaire peut-être déclenché par traitement.

# ActivationCall ACTIVE from TIMING...# Affichage du temps passé par chaque sous-programme et étiquettes avec le nombre d‟appel et letemps d‟exécution entre le lancement et l‟arrêt. Call ARRET From TIMING

Etape batch : l‟exécution

INIT début traitement

AVANT_PAR avant l‟ouverture de la fenêtre critère

INIT_DIA seulement pour une boite de dialogueavant l‟affichage de cette fenêtre

CONTROLE après la saisie de cette fenêtre

EXEC une fois les contrôles OK

TERMINE après le traitement

SORTIE fin de traitement

Traitement standard : batch

Lecture de la requête[M]=[F]

traitement

 Affichage de la trace

Copyright © Sage 2009-2010 72Safe X3 Développement

Page 142: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 142/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 142

16. FONCTIONS 

Présentation :Se situe dans le menu « Développement>Dictionnaires traitements>Fonctions »fait le lien entre le menu et soit :

 –   un menu (sous-niveau de menu) –   un traitement

GESxxx pour un objet (générée automatiquement)CONSxxx pour une consultationFUNxxxxxx pour tout autre traitement

onglet général :Sélection du menu contenant la fonction, du rang et du libellé à afficher.Sélection des autorisations d‟accès. Sélection des états à imprimer.

onglet action :Sélection de l‟action à exécuter sur une fonction de type traitement. Sélection des paramètres pour cette action

Menu / Rang / Intitulé : information pour le menu page HTML (idem objet)Type fonction : élément appelé par la fonction ( traitement ou menu )Type accès objet : positionné à oui en automatique par la validation d‟objet 

permet le contrôle d‟autorisation en création, modif. et suppression Autorisation site : permet le contrôle d‟autorisation par site.

oui en auto. par la validation d‟objet, si champ site identifié dans l‟objet Exécution mono : exécution de cette fonction possible alors qu‟une autre fonction estlancée en mode mono.Impression : affectation d‟un document Crystal Report (idem objet)Liste : affectation d‟une liste Crystal Report (idem objet)

Test des options dans l‟objet :  AVANTBOUTCase BOUT When "a" : # Contrôle des autorisations

GBIDC2= "A": Gosub AUTORIS_OPT From CONTX3If !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 précisant l‟action, soit le traitement Favoriser la technique de l‟action S‟il y a ouverture de fenêtre, on devra absolument indiquer l‟action Tout type d‟action sauf action de type « Hors modèle »

Paramètres :Possibilité d‟affecter  des valeurs par défaut aux paramètres de l‟action.en validation d‟objet, alimentation automatique de l‟action et des paramètres.

Navigation :Par défaut, une fonction est accessible à la navigation "Aller à (touche F7)" ou en utilisant le bandeaude la barre des menus.Pourquoi et comment réduire les droits d'accès par la navigation ?

Interdite vers cette fonction :Fonction nécessitant, par exemple, un contexte d'appel. Exemple: les fonctions non rattachées à unmenu X3.

Page 143: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 143/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 143

Interdite depuis cette fonction :Fonction ayant, par exemple, des filtres positionnés, et pouvant ainsi amener de faux résultats dans lafonction appelée.Interdite dans tous les cas :Fonction interdite dans les deux cas cités au-dessus.

Page 144: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 144/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 144

17. MODELE « AFFICHAGE DIVERS »

17.1. DEFINITION:

ce modèle permet : –   exécuter un traitement sans ouverture de fenêtre

Ce modèle se lance : –   D‟une action champ, d‟un bouton bas d‟écran ou d‟un menu  –   D‟une fonction 

Exemple : –   Action sur champ contrôle CTLNUM appelé sur le champ SOHNUM de

l‟écran SOH0 pour contrôler le N° de document. 

Paramètres de l‟action  –   Modèle : affichage divers – 

  Traitement standard, traitement spécifique. –   Code action contenu dans la variable GACTION à l‟intérieur du traitement. 

17.2. ACTION UNIQUE TRT_DIV 

 Action lancée au début de traitement

Sert à :

lancer votre traitementafficher un message d‟erreur : GERR = 1

GMESSAGE=«mess»

###############################################################################$ACTIONCase ACTIONWhen « TRT_DIV » : Gosub TRT_DIVEndcase

$TRT_DIV… Return###############################################################################

Variable TRAIT :

Contient l‟identifiant de l‟action dictionnaire.

Page 145: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 145/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 145

18. MODELE « HORS MODELE »

18.1. DEFINITION :

ce modèle permet : –   D‟exécuter un sous-programme

Ce modèle se lance : –   D‟une action champ, d‟un bouton bas d‟écran ou d‟un menu  –   Jamais d‟une fonction

Exemple : –   Action sur champ après-ligne DIVLINNUM appelé sur le champ NBLIG de

l‟écran SOH4 pour l‟attribution du numéro de ligne. 

Paramètres de l‟action  –   Modèle : Hors modèle – 

  Traitement standard ou traitement spécifique. –   Renseignement du sous-programme.

Paramètres du 1er onglet :Traitement & sous-programmeTraitement standard ou spécifique : pas d‟ajout de spécifique sur le standard Instruction Adonix (possibilité d‟utiliser seulement une instruction et non un sous-pro.)

18.2. PARAMETRE DU SOUS-PROGRAMME 

Onglet Paramètre de l‟action 

Cohérence des paramètres action et sous-programmes :OrdreNombreNature (char, integer, decimal, date,…) Mode (par valeur value, par adresse variable)

Exemple avec l‟action 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

Page 146: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 146/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 146

Hors modèle

Le traitement lancé est votre propre traitementIl n‟y a pas de traitement superviseur  

Ce modèle se lance :D‟une action champ, d‟un bouton bas d‟écran ou d‟un menu Mais jamais d‟une fonction.

18.3. DECLARATION DU SOUS-PROGRAMME 

Une fois que le sous-programme a été écrit dans l‟action, si celui-ci peut être réutilisé ultérieurement, ilfaudra alors le déclarer dans le dictionnaire des sous-programmes « Développement>Dictionnairestraitements>Traitements>Sous-Programmes ».

Renseignement du traitement contenant le sous-programme, puis le nom de celui-ci. Ajout d‟un descriptif. 

Type : Permet de classer les sous-programmes et fonctions afin d'en faciliter la recherche, et ce, dans le butd‟une meilleure réutilisabilité.Les fonctions et sous-programmes sont à classer en fonction de leur objectif :

•  Contrôle•  Saisie•  Sélection•

  Mise à jour•  Xsl (traitement lié au composant écran)•  Retour d'un statut

Action

Traitement standard

Traitement spécifique

Action

Traitement standard

Traitement spécifique

Hors modèle

FONCTIONMenu X3

FONCTIONMenu X3

FENETREbouton / menu

FENETREbouton / menu

ECRANchamp

ECRAN

champ

TYPEDONNEE 

TYPEDONNEE 

Copyright © Sage 2009-2010 76Safe X3 Développement

Page 147: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 147/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 147

•  Recherche d'information•  Calcul•  Divers

Type argument : 

Ce champ est à renseigner pour les fonctions. Celles-ci sont à classer en fonction de la nature de leurargument de retour :•  Char•  Intéger•  Decimal•  Date•  etc.

Page 148: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 148/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 148

18.4. EXERCICE : CALCUL DE L’EN-COMMANDE CLIENT EN BATCH 

18.4.1. Objectif

Re-calcul de l‟en-commande client par un traitement qui analyse les commandes.

Ce traitement se lance aussi bien en temps-réel qu‟en batch. 

18.4.2. Marche à suivre

Création d‟un écran  YEX Création d‟une fenêtre  YEX Création d‟une action   YEX Création d‟une fonction  YEX Création du traitement  YEX

Pour ce faire, utiliser les descriptions ci-dessous.

Ecran de sélection

Code écran : YEX Abréviation : YEXTraitements associés: YEX

Champ Saisie Oblig. Particularités Dévelop.

YBPCNUMD S non Fenêtre de sélection sur vos clients

Pas de contrôle d‟existence de la valeur, et champ videautorisé (action CONTOBJN)

YBPCNUMF S non Fenêtre de sélection sur vos clients

Pas de contrôle d‟existence de la valeur, et champ videautorisé (action CONTOBJN)

Contrôler que la borne fin soit bien supérieure ou égale àla borne début. Faire en sorte que ce contrôle soitréutilisable.

 Aurait-on la possibilité de faire ce contrôle parparamétrage ? si oui, de quelle façon ?

(Saisie : S Saisie / A Affiché / I Invisible)

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

Page 149: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 149/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 149

18.4.3. Traitement

Lire les clients sélectionnésPour chacun d‟eux :

o Verrou logique de l‟enregistrement lu 

o Constitution de la transaction de mise à jour  Verrou physique de l‟enregistrement à mettre à jour    Remise à zéro des cumuls HT et TTC ( enregistrement client )  Lecture des commandes passées pour ce client avec calcul des cumuls  Mise à jour des cumuls HT et TTC du client

o Enlever le verrou logiqueConstitution d‟une trace :

o Message d‟information : « Client mis à jour : xxxxx »o Message d‟erreur  : « xxxxx Rollback suite à erreur dans la transaction »

Le traitement YEX est à compléter.

18.4.4.  A vérifier

Contrôles de la saisie des bornes client

Les résultats dans les fiches clients

L‟exécution du traitement en mode interactif et batch 

La trace

Notes

Page 150: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 150/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 150

Page 151: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 151/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 151

19. MODELE « SELECTION TABLE »

19.1. DEFINITION :

Ce modèle permet : –   L‟ouverture d‟une fenêtre de sélection d‟une table ou d‟un link 

Ce modèle se lance : –   principalement d‟une action champ : sélection ou bouton  –   depuis un traitement standard –   Depuis une fonction

Exemple : –   Dans les livraisons automatiques, sur le champ client livré, menu contextuel

option sélection.

Paramètres de l‟action  – 

  Modèle : Sélection dans table –   Traitement standard et traitement spécifique. –   Identifiant action. –   Intitulé bouton (le nom de l‟option dans le menu contextuel) 

Sélection dans tableLes éléments proposés dans la fenêtre s‟appuient sur une table ou une classe [F] issue du LinkPossibilité de filtre des enregistrementsOn indique les champs à présenter dans cette fenêtre1 enregistrement = 1 ligne, 1 champ= 1 colonne (25 colonnes maximum)Le nombre de lignes affichées est fonction du paramètre utilisateur NBRCHOOSEEnsuite possibilité de pagination

Le traitement superviseur est GACTION 

Pour créer une fenêtre de sélection :Utiliser le type de donnée lié à l‟objet Sinon, utiliser les actions SELOBJW et SELOBJAWL‟option # permet de ne pas appliquer le filtre sur ENAFLG, et l‟action FILTRE liée à l‟objet. Sinon, se créer une action « sélection table »

Page 152: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 152/226

Page 153: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 153/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 153

Par défaut, tri sur la première colonne déclarée dans la fenêtre.Possibilité de trier les enregistrements d'une autre façon.On indique le nom d'un ou plusieurs champs appartenant à la table mais pas forcément à la fenêtre.Les noms de champs sont séparés entre eux par le caractère ";".Exemple : ORDRE = "[F:ADI]NUMTAB;[F:ADI]CODE«

Par défaut, sens du tri est ascendantPossibilité de tri descendant avec SENS=2

19.2.2. VERF_TABLE

 Action lancée après la saisie du choix, avant l‟alimentation de VALEUR 

Sert à :

 Affecter d‟autres champs : [M]champ = [F]champ  Affzo [M]

Effectuer des contrôles du choix Afficher un message d‟erreur : GERR = 1

GMESSAGE = « mess »

La classe [F] complète de l‟enregistrement est disponible. Il est alors possible d‟affecter d‟autres champs, puis de les afficher.

19.2.3. FIN_TABLE

 Action lancée en fin de traitement même si aucune sélection n‟a été effectuée 

Sert à :

Enlever un filtre positionné auparavantIntervenir sur le choix : Valeur

Sur action Sélection Automatisme de passage au champ suivant par le superviseur

Forcer le curseur à rester sur le champ courant mkstat=2

Sur action BoutonForcer le curseur à passer au champ suivant  mkstat=99

Page 154: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 154/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 154

20. MODELE « SELECTION LISTE »

20.1. DEFINITION :

Ce modèle permet : –   L‟ouverture d‟une fenêtre de sélection des éléments d‟une liste

Ce modèle se lance : –   principalement d‟une action champ : sélection ou bouton  –   depuis un traitement standard –   Depuis une fonction

Exemple : –   action AMENLOCSEL : menus locaux modifiables par module menu :

« Paramétrage>Paramètres généraux>Menus locaux »

Paramètres de l‟action  –   Modèle : Sélection dans liste –   Traitement standard et traitement spécifique. –   Identifiant action. –   Intitulé bouton (le nom de l‟option dans le menu contextuel) 

Ce modèle permet :L‟ouverture d‟une fenêtre de sélection des éléments d‟une listeOn doit fournir les éléments à afficher dans un tableau : les lignes sont à constituerTous les éléments sont affichés en même temps dans la fenêtre (limite de 200 max)Sélection rapide et pagination non supportéesPossibilité de créer de 1 à 5 colonnes

Page 155: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 155/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 155

20.2. ACTIONS SUR MODELES 

SEL_LISTE : Action majeureLe superviseur ne prend pas en charge l‟ouverture de la table ni les lectures d‟enregistrement. Pas d‟écran ni de fenêtre à créer. 

20.2.1. SEL_ LISTE

 Action lancée avant l‟affichage de la fenêtre 

Sert à :

charger la fenêtre de sélection avec :No de ligne NBTEXNom de champ invisible TEX (NBTEX)Texte affiché TEXTE (NBTEX)

Donner un titre à la fenêtre : TIT 

SEL_LISTE :Nécessité d‟ouvrir les tables à explorer  Nécessité de lire les enregistrements pour constituer les lignes à proposerPossibilité d‟augmenter la limite de 200 lignes en re-déclarant TEX et TEXTE dans cette action.

 Afficher de 1 à 5 colonnes alignées :

SEL_LISTE avant l  ‟affichage de la fenêtre

VERF_ LISTE après la saisie du choix

FIN_ LISTE fin de traitement

Sélection dans liste

Saisie

Copyright © Sage 2009-2010 81Safe X3 Développement

Page 156: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 156/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 156

Les textes :La variable TEXTE est dimensionnée à TEXTE(80)(0..200) dans le superviseur.Il faut la re-déclarer dans l‟action SEL_LISTE en a joutant une 2ème 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 dimensionnée à TIT (50)(0..5) dans le superviseur.Inutile de la re-déclarerL‟indice 0 est réservé au titre de la fenêtre (comme actuellement)Le titre des colonnes se paramètre à partir de l'indice 1.

 Action disponible :Tri sur colonne(sélection rapide et pagination non supportées)

20.2.2. VERF_LISTE

 Action lancée après la saisie du choix, après l‟alimentation de VALEUR 

Sert à :

 Affecter d‟autres champs : [M]champ = [F]champ  Affzo [M]

effectuer des contrôles du choixafficher un message d‟erreur : GERR = 1

GMESSAGE = « mess »

20.2.3. FIN_LISTE

 Action lancée en fin de traitement même si aucune sélection n‟a été effectuée 

Sert à :

Enlever un filtre positionné auparavantIntervenir sur le choix : Valeur

Sur action Sélection Automatisme de passage au champ suivant par le superviseur

Forcer le curseur à rester sur le champ courant  mkstat=2

Sur action BoutonForcer le curseur à passer au champ suivant  mkstat=99

Page 157: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 157/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 157

20.3. VARIABLES DISPONIBLES EN LECTURE : 

[V]GACTION Code action dictionnaire

Traitement standard

[L]BOITE Code fenêtre

[L]GBATCH Etape de lancement : 0 interactif  – 1 soumission requête[L]GSERVEUR Etape d‟exécution : 0 interactif – 1 batch

Sélection table et liste / Affichage divers

[L]TABLE Identification action sel. table[L]LISTE Identification action sel. liste

[L]TRAIT Identification action aff. Divers

Page 158: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 158/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 158

21. MODELE « CONSULTATION »

21.1. DEFINITION :

Ce modèle permet :>  afficher un ensemble d‟enregistrements en fonction de critères de sélection.

Ce modèle se lance :>  Depuis une action champ>  Depuis une fenêtre>  Depuis une fonction

Exemple :>  Affichage de la liste des commandes dans le menu :

« Ventes>Consultation>Commandes>Listes commandes »

>  Paramètres de l‟action >  Modèle : Consultation>  Code consultation

Type de traitement : consultationGère les consultationsLe traitement lancé est GCONSULT 

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

21.2. FENETRE PRINCIPALE :

 Affichage de la liste des éléments.Possibilité de passer d‟une page à une autre.  Affichage de la fenêtre de critère.

Ergonomie générale fenêtre principale :Un écran entête figé, un onglet unique figé ou dynamiqueL‟écran d‟entête comprend les principaux critères de recherche L‟onglet est sous forme de tableau.La variable de bas de tableau doit se nommer NBLIG.

Boutons standards sont :Critères, Recherche, Suite, Retour, Dernier, Graphique, FinCritères présent, si une fenêtre de critère est définie pour la consultationGraphique présent, si un graphique est défini pour la consultation

Boutons / menus particuliers à la consultationF5 permet le rafraîchissement de la page couranteLes boutons magnéto permettent de faire défiler la clé principale de recherche.Fichier/Impression permet l‟impression de la fenêtre principale Fichier/Liste permet l‟impression de la liste précisée dans la fonctionLes derniers lus de l‟objet associé sont mis à jourPas de liste de gauche

Page 159: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 159/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 159

21.3. FENETRE DE CRITERES :

Enregistrer et modifier de nombreux critères de sélection et de tri.enregistrer et choisir 1 écran paramétré.enregistrer le tout dans un mémo 

Ergonomie générale fenêtre critèreCréation d‟un écran critère si trop de critères, si zone affichage, si mémo, si écran dynamiqueun bloc de sélection et un bloc d‟affichage Si modif des zones d‟affichage, la page courante est réaffichée.Si modif des zones de sélection, la recherche est relancée depuis la 1ère page.Boutons standard sont : ok, fin, mémo, rappel, eff. mémo,

mémo : création d‟un mémo rappel : chargement d‟un mémo eff.mémo : suppression du mémo

Boutons particuliers à la consultation pour cette fenêtreLe champ « mémo actif » doit se nommer MEMO 

Le champ « code écran » doit se nommer ECRAN Il a en paramètre le code consultationInitialisation des critères à l‟entrée dans la fonction si mémo STD Chaque mémo est créé dans le répertoire ETM sur le serveur sous la forme :utilisateur_mémo.consultationSe réserver dans le dictionnaire le code mémo

21.4. ELEMENTS COMPOSANT UNE CONSULTATION 

ActionAction

ConsultationConsultation

Fenêtre principale

+ Boutons / Menus

Fenêtre principale

+ Boutons / Menus

Consultations

Écrans

FONCTIONMenu X3

FONCTIONMenu X3

FENETREbouton / menu

FENETREbouton / menu

ECRANchamp

ECRANchamp

TYPEDONNEE 

TYPEDONNEE 

Fenêtre de critères

+ Boutons / Menus

Fenêtre de critères

+ Boutons / Menus

Écran

Traitement superviseur GCONSULT

Traitement standard

Traitement spécifique

Copyright © Sage 2009-2010 83Safe X3 Développement

Page 160: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 160/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 160

Pour une consultation xxx : 

Fenêtre principale FCNSxxx (obligatoire) : type = plein écran•  écran entête CONSxxx1 abrév. xxx1 (obligatoire)•  écran détail CONSxxx2  abrév. xxx2 (obligatoire)

Fenêtre critère DCNSxxx (facultative) : type = boite dialogue•  écran critère CRITxxx abrév. Cxxx 

 Action CONSxxx•  type de traitement Consultation•  code consultation xxx (obligatoire)•  définition des paramètres

Fonction CONSxxx•  action CONSxxx (obligatoire)•  valeur des paramètres

21.5. PARAMETRES D’UNE CONSULTATION 

21.5.1. Onglet Ecrans:

Les consultations sont paramétrés dans le menu « Développement>Dictionnairestraitements> Consultations »Renseignement de la fenêtre principale et de la fenêtre de critère.Correspondance des champs entête de la fenêtre de principale et de la fenêtre decritèresTraitements standard/spécifiques.

Onglet EcransCode : Ce code obligatoire identifie la consultation. Il a au plus 3 caractères. Comme le codeconsultation en minuscule sert d‟extension au fichier mémo associé aux critères de consultation, il nefaut pas lui donner le code d‟extension mémo déjà existante (ddm, sel, rpt à éviter).

Intitulé : Ce texte est repris en titre de l‟onglet de la fenêtre principale. 

Traitement standard : Ce traitement est réservé à SAGE et doit contenir les actions standards liées àla consultation. Il doit contenir une étiquette $ACTION.

Traitement spécifique : Ce traitement est réservé aux distributeurs et doit contenir les actionsspécifiques liées à la consultation. Il doit contenir une étiquette $ACTION.

Fenêtre principale : Cette zone est obligatoire.Fenêtre critères : Cette zone est facultative. Elle conditionne la présence du bouton « critère ».

Code écran par défaut : Cette zone est facultative. Elle permet d‟affecter automatiquement un écranparamétré au lancement de la consultation. Cet écran est modifiable par la zone ECRAN de la fenêtrede critères.

Tableau des critères : Ce tableau n‟est saisi que si une fenêtre critère est renseignée. Il permet : - de faire correspondre les zones critères de l‟écran entête avec les zones de l‟écran critères

 génère les sous-pro $CRITENT (alim. critères) et $ENTCRIT (alim. entête) dans le traitement

CNSxxx

- d‟identifier les critères d‟affichage génère le sous-pro $CRITAFF dans le traitement CNSxxx30 lignes de critères maximum peuvent être renseignées.

Page 161: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 161/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 161

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 lesderniers lus, indiquer l‟objet associé. 

- Table & abréviation : Si un objet est précisé, la table est forcée à celle de l‟objet, sinon la tableindiquée ici ne servira qu‟à gérer les boutons magnétos. Indiquer sous quelle abréviation utilisée cettetable en gestion de consultation, par défaut l‟abréviation du dictionnaire des tables est proposée.

- Clé : Toujours pour la gestion des derniers lus ou des boutons magnétos, indiquer la clé de parcoursde fichier. Cette zone est obligatoire si une table est renseignée.

- Condition : Ces zones sont facultatives et permettent de sauter certains enregistrements de la tableen exploitation des derniers lus et en utilisation des boutons magnétos. Utiliser le caractère „  pourdélimiter une valeur alphanumérique.

- Composantes de clé : Indique la correspondance entre les composantes de la clé et les champs del‟écran d‟entête.

- Magnétos O/N : Indique si les boutons magnétos sont gérés. Non saisi si aucune tablen‟est précisée.

Page 162: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 162/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 162

21.6. ACTION SUR MODELE CONSULTATION 

21.6.1.  AUTORIS

Cette action est appelée en tout début de modèle. Et sert à contrôler que l'utilisateur a les droits delancer cette consultation.

Sert à :Effectuer des contrôles supplémentaires au modèle et d'empêcher la consultation enpositionnant OK = 0.

Changer le code mémo associé à la consultation en fonction du contexte en alimentant lavariable MEMO.

Exemple :

Consultation de la balance âgée. consultation BAG.

$AUTORISIf GFONCTION="CONSBAG"

MEMO="bag"If PARAM(1) = "2" : MEMO = "bg2" : Endif

ElseMEMO="bah"If PARAM(1) = "2" : MEMO = "bh2" : Endif

EndifReturn

AUTORIS En tout début de modèle, sert à gérer les droits

OUVRE Permet l‟ouverture des tables et des mask

LECTURE Quand on lance la recherche

FILTRE Depuis l'action de lecture, pour le spécifiqueuniquement

 Affichage

Modèle « consultation »

Copyright © Sage 2009-2010 84Safe X3 Développement

Page 163: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 163/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 163

21.6.2. OUVRE

Cette action est appelée en début de modèle, lorsque la consultation est autorisée pour l'utilisateur.Les tables et masques ont été ouverts par le modèle.

Sert à : Faire des déclarations de ressources nécessaires et des initialisations, par exemple :

Déclarer des variables globales ou locales par les syntaxes du typeLocal Integer MA_VARIABLEGlobal Char POUR_TOUS(100)

 Affecter des variables globales

Ouvrir des tables avec des instructions du typeIf clalev ([F :XXX]) = 0 : Local File XXXXX : Endif

Elle sert aussi à alimenter les critères de sélection, par exemple

Elle sert aussi indiquer, si on lance la recherche au lancement de la consultation ou pas. Danscertains cas, il peut être préférable de faire saisir les critères avant toute tentative de recherche ; celase fera en positionnant la variable CHARGMT à 1.

Les variables disponibles sont les suivantes :

PARAM()(1..) : paramètres passés à l'appel de la consultation

PROGCNS : traitement généré à la validation de la consultation. Il est nommé CNS+codeconsultation

CHARGMT : recherche déclenchée dès l'entrée dans la consultation ( 0 oui / 1 non ). oui, par

défaut.

21.6.3. LECTURE

Cette action est appelée quand on lance la recherche, c'est à dire au lancement de la fonction,lorsque l'on pagine ou lorsque l'on change les critères. Cette action est indispensable pour alimenterl'écran de consultation par l'ensemble des enregistrements sélectionnés.

Sert à : Alimenter l'écran de consultation par l'ensemble des enregistrements sélectionnés. On appelle

l'action "FILTRE" afin que le spécifique puisse éventuellement insérer un filtre de sélection. Cetteaction sera écrite sur le modèle ci-dessous (extrait de la consultation des devis).

Exemple :

$LECTURE#-- critères obligatoires (section facultative)If [M:CSQ1]CPY="" & [M:CSQ1]SALFCY="" : NBLU=0 : ReturnEndif

Gosub CHANGE_MSK From GCONSULTIf CHGPAG<0 : NOL = MAXLIG : Endif

#-- Positionnement des FiltresGosub LOAD_FILTER

#-- dans les traitements standards uniquement : appel au spécifiqueIf PROGSPE<>""

Page 164: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 164/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 164

 ACTION = "FILTRE" : Gosub ACTION From =PROGSPEEndif

#-- Application des Filtres et tri des enregistrementsIf CHGPAG > 0

SUITE=1If CHGPAG = 1 : RETOUR = 1 : Elsif CHGPAG = 2 : RETOUR = 2 : EndifCase [M:CCSQ]TRI

When 1 : # tri par numéroFilter [SQH] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2) Order By Key SQH0

When 2 : # tri par dateFilter [SQH] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2)

& Order By Key CLE=[F:SQH]QUODAT;[F:SQH]SQHNUMEndcase

ElseRETOUR=1If CHGPAG = -1 : SUITE = 1 : Else SUITE = 2 : EndifCase [M:CCSQ]TRI

When 1 : # tri par numéroFilter [SQH] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2) Order By Key SQH0Desc

When 2 : # tri par dateFilter [SQH] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2)

& Order By [F:SQH]QUODAT Desc ;[F:SQH]SQHNUM DescEndcase

Endif

#-- raz du masque si 1ere ou dernière pageIf CHGPAG<>2 & CHGPAG<>-2 : Raz [M:CSQ2] : Endif

#-- boucle de lecture

$BOUCLEFor [SQH]

#-- Filtre supplémentaire (section facultative)If [M:CSQ1]CPY <> ""

If [F:FCY]FCY <> [F:SQH]SALFCYRead [F:FCY]FCY0 = [F:SQH]SALFCYIf fstat Raz [F:FCY] : Endif

EndifIf [F:FCY]LEGCPY <> [M:CSQ1]CPY Goto SUIV : Endif

Endif

If NBLU = 1

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

#-- stockage des bornes début et fin d'enregistrement pour l'écranIf CHGPAG > 0

If NOL >= MAXLIG-1 : SUITE=2 : Break : EndifNOL += 1If NOL=0

DEBNUM = [F:SQH]SQHNUMDEBDAT = [F:SQH]QUODAT

EndifFINNUM = [F:SQH]SQHNUM

FINDAT = [F:SQH]QUODATElseIf NOL <= 0 : RETOUR=2 : Break : Endif

Page 165: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 165/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 165

NOL -= 1If NOL=MAXLIG-1

FINNUM = [F:SQH]SQHNUMFINDAT = [F:SQH]QUODAT

Endif

DEBNUM = [F:SQH]SQHNUMDEBDAT = [F:SQH]QUODATEndif

#-- chargement du masquenolign = 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...

$SUIVNextFilter [SQH]Return

#--- Préparation du filtre #$LOAD_FILTERWFIL = "1=1"WFIL1 = "1=1"WFIL2 = "1=1"

If [M:CSQ1]SALFCY <> ""WFIL += "&[F:SQH]SALFCY=[M:CSQ1]SALFCY"Endif...Case CHGPAG

When 3 : # rafraichissementCase [M:CCSQ]TRI

When 1 : # tri par numéroWFIL1 += "&[F:SQH]SQHNUM>=DEBNUM"

When 2 : # tri par dateWFIL1 += "&([F:SQH]QUODAT>DEBDAT | ([F:SQH]QUODAT=DEBDAT &

[F:SQH]SQHNUM>=DEBNUM))"Endcase

When 2 : # suiteCase [M:CCSQ]TRIWhen 1 : # tri par numéro

WFIL1 += "&[F:SQH]SQHNUM>FINNUM"When 2 : # tri par date

WFIL1 += "&([F:SQH]QUODAT>FINDAT | ([F:SQH]QUODAT=FINDAT &[F:SQH]SQHNUM>FINNUM))"

EndcaseWhen -2 : # retour

Case [M:CCSQ]TRIWhen 1 : # tri par numéro

WFIL1 += "&[F:SQH]SQHNUM<DEBNUM"When 2 : # tri par date

WFIL1 += "& ([F:SQH]QUODAT<DEBDAT | ([F:SQH]QUODAT=DEBDAT &[F:SQH]SQHNUM<DEBNUM))"Endcase

Page 166: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 166/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 166

EndcaseReturn

Les variables disponibles en lecture sont les suivantes :

CHGPAG : identifie l'action qui a déclenché la lecture1 < Recherche >2 < Suite >3 < Rafraichissement >

- 1 < Dernier >- 2 < Retour >

MAXLIG : nombre de lignes maximum dans le tableau.

Les variables disponibles en mise à jour sont les suivantes :

NBLU : nombre d'enregistrements à afficher.

NOL : indice de remplissage du tableau

l'incrémenter si CHGPAG > 0le décrémenter si CHGPAG < 0

SUITE : permet de désactiver les boutons < Suite > et < Dernier >

RETOUR : permet de désactiver le bouton < Retour >

21.6.4. FILTRE

Cette action est prévue pour le spécifique uniquement. Elle est appelée depuis l'action LECTUREpour positionner un filtre spécifique sur les enregistrements à sélectionner. Attention cette action ne doit jamais être utilisée pour le standard.

Pour le spécifique, on positionne un filtre qui s'exprime sous la forme d'une chaîne de caractèrescontenant une condition logique sur un ou plusieurs champs de la table principale. On peut écrire parexemple :WFIL+= "BPSTYP=2".

Nous n'avons pas, dans cette version, une variable dédiée à cela. Il faut donc vérifier dans l'actionstandard LECTURE, la variable qui est prévue pour le filtre.

21.1. EXERCICE CONSULTATION DES COMMANDES STANDARDS 

21.1.1. Objectif

 Ajout d‟un filtre à la consultation des lignes de commandes de vente « Ventes>Consultations>Commandes>Lignes commandes ». Le filtre sera une borne inférieure sur letotal de commande TTC.

21.1.2. Marche à suivre

 Ajout du champ YTTCD dans la consultation CSP. Le champ doit être positif et dans l‟écrand‟entête.Création du traitement CNSCSPSPE.

o Ce traitement devra filtrer les commandes ayant un total TTC inférieur au critère saisien entête.

Page 167: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 167/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 167

21.1.3.  A vérifier

Le bon fonctionnement du filtre.

Page 168: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 168/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 168

22. POINT D’ENTREE 

22.1. REGLES DES POINTS D’ENTREE 

 – 

  Ils permettent l‟ajout de code dans les traitements fonctionnels du standard  –   Ils complètent les possibilités données par les actions –   Ils sont réservés uniquement aux spécifiques –   Ils sont systématiquement accompagnés d‟une documentation  –   Ils sont ajoutés à la demande.

Pour être actif, les points d‟entrée doivent être reliés à un traitement standard.Cette liaison est à renseigner dans le menu :« Développement>Dictionnaire traitements>Traitements>Points d‟entrée »

Lier un traitement standard à un ou plusieurs traitements spécifiques.

Pour l‟appel de plusieurs traitements spécifiques : 

Renseigner le champ « paramétrage »Sous la forme PROG1~CODACT1; PROG2~CODACT2;… Programmer l‟appel de ces traitements depuis le traitement spécifique principal.

Traitement standardPlacement et attribution d‟un nom au point d‟entrée. Transmis par patch.

Traitement superviseur (EXEFNC)Recherche du traitement spécifique dans la table AENTREE par la variable adxpno(1) contenant le

nom du traitement standard. Appel du traitement spécifique.

Trait. Spécifique ZZFUNAUTDLV

$ACTION

Case ACTIONWhen «AUTDLVFIL» : Gosub AUTDLVFIL

When defaultEndcasereturn

Trait. Spécifique ZZFUNAUTDLV

$ACTION

Case ACTIONWhen «AUTDLVFIL» : Gosub AUTDLVFIL

When defaultEndcasereturn

Trait. Standard FUNAUTDLV

GPOINT = « AUTDLVFIL »

Gosub ENTREE From EXEFNC

Trait. Standard FUNAUTDLV

GPOINT = « AUTDLVFIL »

Gosub ENTREE From EXEFNC

Table AENTREElien trait standard & spécifique

FUNAUTDLV ZZFUNAUTDLV

Table AENTREElien trait standard & spécifique

FUNAUTDLV ZZFUNAUTDLV

Points d‟entrée

Copyright © Sage 2009-2010 86Safe X3 Développement

Page 169: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 169/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 169

Traitement spécifiqueLe nom doit commencer par X,Y ou Z.Doit contenir l‟étiquette $ACTION 

Table AENTREELivrée videDoit faire la correspondance entre un traitement standard et spécifique.Menu : « Développement>Dictionnaire traitements>Traitements>Points d‟entrée »

Deux Variables Globales disponibles•  GENTSTD(i) : traitement standard de la table AENTREE•  GENTSPE(i) : traitement spécifique associé

22.2. EXERCICE : GESTION DES COMMANDES STANDARD 

22.2.1. Objectif

 Ajouter un champ spécifique dans la gestion des commandes standard.Ce champ pourra être saisissable, affiché ou invisible par paramétrage dans les transactions desaisie.

22.2.2. Marche à suivre

 Ajout du champ en gestion commande

 Ajouter le champ  YFLGSPE d‟intitulé « Flag Spécifique », de type menu local 1, dans la tableSORDER. Ajouter ce même champ dans l‟écran SOH2, en case à cocher saisissable.

 Ajout d‟un champ en transaction de saisie des commandes 

Cette fonction est accessible depuis le menu : Paramétrage / Ventes / Transactions de saisie /Commandes

 Ajouter le champ YFLGSPECOD dans la table SALTRS pour permettre le paramétrage du champ YFLGSPE par transaction de saisie. Il est de type menu local 35, longueur 15. Ajouter ce même champ dans l‟écran SLC2. 

Utiliser le point d‟entrée approprié pour que le champ  YFLGSPECOD paramètre l‟affichage duchamp YFLGSPE (saisissable, affiché, invisible).

Page 170: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 170/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 170

Ces transactions de saisie permettent de générer des écrans à partir des écrans de base descommandes (SOH0, SOH1, SOH2, SOH3, SOH4).

Page 171: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 171/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 171

22.2.3.  A vérifier

Pour la gestion des commandes standards :

Saisie et stockage du champ YFLGSPE 

Pour les transactions de saisie :

Générer une transaction ou tous les champs sont saisissables

Générer une transaction ou tous les champs sont affichés

Générer une transaction ou tous les champs sont invisibles

Les utiliser dans la gestion des commandes

Notes

Page 172: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 172/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 172

Page 173: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 173/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 173

23. ECRANS GRAPHIQUES 

23.1. PRESENTATION GRAPHE SIMPLE ET MULTI 

Graphe simple et multi-graphe•  Visualisation•  Survol d‟un élément affiche l‟abscisse et coordonnée •  Simple clic sur une barre permet d‟afficher 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 géré sur graphe simple. (multi ok)

Graphe simple :Visualisations successives, si plusieurs axes d‟analyse paramétrés pour le graphe Permet d‟avoir une échelle adaptée aux données de chaque axe.

Exemple :•  Commandes normales•  Commandes de prêt•  Commandes à facturation directe

Ventes > Consultations > Commandes par période

Ecrans graphiques : Graphe simple

Axes d’analyse

libellésCopyright © Sage 2009-2010 88Safe X3 Développement

Page 174: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 174/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 174

Multi-graphes :

Visualisation de plusieurs valeurs sur le même graphe.Représentation pouvant être différente pour chaque valeur (barre, ligne)Représentation distincte, cumulative ou comparative

Limites des graphes simples ou multi•  550 cellules pour les valeurs de graphe•  16 axes d‟analyses max. (au-delà, se dessine mais pas de couleur affectée)•  Couleur affectée automatiquement•  Taille et disposition du libellé calculées automatiquement (horizontale si possible, sinon

verticale)

Ventes > Consultations > Commandes par période

Ecrans graphiques : Multi-graphe

Axes d’analyse

libellésCopyright © Sage 2009-2010 89Safe X3 Développement

Page 175: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 175/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 175

23.2. PARAMETRAGE 

23.2.1. Paramétrage du bloc et du graphe

>   Appel d‟un graphe à partir d‟un tableau dans le dictionnaire des écrans

Représentation du bloc :>  Caractères>  Car. ou Graph.>  Car. et Graph.>  Graphique

Paramétrage du graphe par clic droit sur ce champ.

Option>  T : affichage complet du tableau>  Permet d‟afficher un graphe complet (si graphe est affiché par défaut)

Exemple>  Ecran SGO1, permettant de visualiser la liste des commandes.

>  Paramétrage du graphe sur click droit de la colonne « représentation »Type graphique :

>  Graphe simple>  Multi-graphe>  XLS>  Gantt>  Agenda

Position du graphe par rapport au tableau (car. et graphe) Affichage par défaut (car. ou graphe)

>  Tableau>

  GraphiqueReprésentation (multi-graphe)>  Multi>  Cumulatives>  Comparatives

Tous les graphes se paramètrent de la même faon : Insertion d‟un tableau avec lesdifférents axes, puis renseignement des paramètres graphiques.

Page 176: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 176/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 176

23.2.2. Paramétrage des champs d‟écrans 

Paramétrage des champs :•  Libellé ( sur champ caractères ) 1 seul•  Valeur ( sur champ numérique ) plusieurs possible•  Défaut ( sur champ numérique ) 1 seul

Défaut : axe analytique affiché par défaut

Représentation des axes :•  Défaut (suit la définition 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 généralementd'avoir cette ligne de totalisation dans le tableau, mais pas sur le graphe associé.

Pour cela, il faut :prévoir un champ de type de données 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.

Ecrans graphiques : Graphe simple et Multi-

graphe

Axes d’analyse

libellésCopyright © Sage 2009-2010 90Safe X3 Développement

Page 177: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 177/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 177

23.3. GANTT 

23.3.1. Présentation

Graphe à déclarer de type Gantt dans les paramètres graphiques.

Graphe•  Visualisation•  Ordonnancement et enchaînement dans le temps, des tâches et opérations nécessaires à

l‟aboutissement d‟un projet. •  Les opérations apparaissent en ordonnée•  La durée (mois, jour, semaine) apparaît en abscisse•  Chaque tâche est représentée par une barre horizontale dont la longueur est proportionnelle à

la durée de sa réalisation

•  Le minipad affiche un aperçu de la zone du graphique en cours de visualisation.

•  capacités de déplacement et de zoom grâce à son MiniPad.•  Lors d'un zoom, l'échelle de temps (timeline) évolue en temps réel pour une plus grande

fluidité de l'interface.

Exemple : « Production > Données techniques > Gammes > Gestion Gammes »

Ecrans graphiques : Gantt

Copyright © Sage 2009-2010 91Safe X3 Développement

Page 178: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 178/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 178

23.3.2. Paramétrages des champs d‟écrans 

LignesPlusieurs lignes pour chaque opération.

•  Une ligne entête (clé et nom doivent être renseignés)•  Des lignes détail (nom doit être absent, et tous les autres champs renseignés)

Colonnes•   Aucun nom n‟est imposé. •  Le paramétrage permet l‟identification de chaque colonne. •  Paramétrage par table diverse 915

Date interneChamp A(12)Date exprimée sous la forme AAAAMMJJHHMMPour formater cette date interne : Call CONVDATI (date, heure, date_interne) From INTRUTILA Avec date en type date, heure en integer, date_interne en char

Durée affichée Alimente les barres du gantt (7 j avec le week-end)Champ DCB(9,2)Unité : journée de 24 heuresEx : pour exprimer une durée de 1h30, c‟est 1,5/24= 0.0625 Durée obligatoire pour chaque tache.Remarque : mettre 0.01 pour ne pas afficher la barre

Durée

 Alimente l‟info bulle par survol sur la barre (5 j travaillés) Description identique, par contre cette durée peut être égale à 0

Ecrans graphiques : Gantt

  lé Nom Date interne Durée D affichée Type jour

Copyright © Sage 2009-2010 92Safe X3 Développement

Page 179: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 179/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 179

23.4. AGENDA 

23.4.1. Présentation

Graphe à déclarer de type Agenda dans les paramètres graphiques. 

Graphe :•  L‟agenda permet une consultation des évènements (rdv, tâches, appels) de la CRM•   Avec Création, modification ou suppression d‟événement par tunnel depuis l‟agenda •  Type d‟événement différencié par sa couleur  •  Evènement terminé symbolisé par un trait gris•  Survol événement : affiche un résumé•  Click événement : affiche une fiche plus détaillée•  Interface entre agenda CRM et Outlook

•  Bi-directionnel•  Paramétrable par utilisateur

Exemple : « Relation>Action commerciale>Agenda »

Ecrans graphiques : Agenda

Copyright © Sage 2009-2010 93Safe X3 Développement

Page 180: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 180/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 180

23.4.2. Paramétrage des champs d‟écrans 

Tableau :Lignes1 ligne pour chaque évènement.

Colonnes•   Aucun nom n‟est imposé. •  Le paramétrage permet l‟identification de chaque colonne. •  Paramétrage par table diverse 915

Ecrans graphiques : Agenda

Copyright © Sage 2009-2010 94Safe X3 Développement

Page 181: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 181/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 181

23.5. PLANNING MENSUEL 

23.5.1. Présentation

Graphe :Interactif : affectation d‟une activité  Avec le traitement interactif standard, seul les jours ouvrés sont modifiables.Possibilité de rendre le planning non modifiable en mettant tous les champs du tableau en affichéPossibilité d‟afficher des totaux par activité (calcul automatique par traitement du composant écran)

•  Planning gérant de 1 à 12 mois (remplissage du tableau)•  Affichage de 1 à 12 mois simultanément (paramétrage graphe)•  Affectation de 1 à 8 activités (paramétrage graphe par menu local)•

  Découpage des jours en 1 à 4 plages (présence champ « plage » dans tableau)

Tableau :•  1 ligne par jour•  1 colonne par plage d‟activité (1 à 4) 

Ecrans graphiques : Planning mensuel

Type de jour1 Ouvré

2 Week-end

3 Férié Activité1 Travaillé

2 Congés payés

3 RTT

4 Maladie

5 Formation

Copyright © Sage 2009-2010 95Safe X3 Développement

Page 182: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 182/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 182

23.5.2. Paramétrage des champs

Bloc techniqueChamp clob invisible pour recevoir le graphe

TableauLignes :

•  1 ligne par jour (maximum : 365 lignes pour un planning d‟un an)

Colonnes :•  TECDAT : date interne Champ A(12)

Date exprimée 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, férié)•  PLAG1 à PLAG4 : 1 à 4 plages d‟activité par jour  

La présence des champs définit le nb de plages par jour•  TOTTYP1 à TOTTYP8 : 1 à 8 totaux d‟activité

Les mettre en fonction du nombre d‟activités (menu local 9837)

Nom champ imposé (sauf pour le clob) si utilisation du traitement standard de l‟XSL 

Ecrans graphiques : Planning mensuel

mess(1,9837,1)

Copyright © Sage 2009-2010 96Safe X3 Développement

Page 183: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 183/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 183

23.5.3. Paramètres graphiques

>  Paramètres graphiques

 Appel d‟un graphe de type XSL 

 Appel du champ clob définis dans un bloc technique de l‟écran pour  recevoir le coded‟affichage XSL du composant écran APLNAM 

Paramétrage des valeurs suivantes :>  Nombre de mois affichés>  Menu des types d‟activité>  Remise à jour graphique>  Programme d‟interaction 

Paramètres :Nombre de mois affichés :

1 à 12 mois

Menu des types d‟activité :Menu local modifiable (1 à 8 activités)

Remise à jour graphique :Permet le recalcul du graphe suite à l'interaction sur le graphe lui-même1 non : cet XSL fait systématiquement la mise à jour du graphe

Programme d‟interaction : •  AMAJPLAN par défaut (programme livré)•  possibilité d‟avoir un autre traitement •  Doit obligatoirement appeler le sous-programme MAJPLAN•  Doit obligatoirement avoir les paramètres identiques au sous-

programme MAJPLAN de AMAJPLAN•  Doit être déclaré dans le dictionnaire des sous-programmes

Page 184: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 184/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 184

23.6. COMPOSANTS GRAPHIQUES 

>  Présentation

Les composants graphiques permettent la réalisation de graphes interactifs appelable

dans les écrans X3.Traitement en langage XSL, transforme du xml en html ( + ajout de javascript )Renseignements des paramètres d‟interactions entre X3 et le composant graphique. Le dictionnaire des composants graphiques se situe dans le menu :« Développement>Dictionnaire traitements>Ecrans>Composants Ecran »

Codes : Associés des menus locaux à des codes XSL pour fournir un jeu de libellés dans la langue del‟utilisateur  

Programmes :Mise à jour de la classe [M] à partir de la modification du graphe :

•  affecter de l‟activité•  Calcul des totaux

Pour le planning, ce traitement est exécuté à chaque affectation d‟activité, et les paramètres sont : •  Date début (identifiée par la ligne du tableau X3)•  Plage début (de 1 à 4)•  Date fin (identifiée 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 l‟XSL. 

Paramètres :Jusqu‟à 5 paramètres avec leur valeur par défaut, modifiable éventuellement dans l‟écran d‟appel.  

Page 185: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 185/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 185

23.7. PLANNING ANNUEL 

23.7.1. Présentation

Graphe :Interactif : affectation d‟une activité  Avec le traitement interactif standard, seul les jours ouvrés sont modifiables.Possibilité de rendre le planning non modifiable en mettant le tous les champs du tableau en affichéPossibilité d‟afficher des totaux par activité (calcul automatique par traitement du composant écran) 

•  Planning gérant de 1 à 12 mois (remplissage du tableau)•  Affectation de 1 à 8 activités (paramétrage graphe par menu local)•  Découpage des jours en 1 à 4 plages (présence champ « plage » dans tableau)

Ecrans graphiques : Planning annuel

Copyright © Sage 2009-2010 97Safe X3 Développement

Page 186: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 186/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 186

23.7.2. Paramètres écrans

>  Paramètres :Code XSL : APLANYMenu des types d‟activité :

>  menu local modifiable (1 à 8 activités)Remise à jour graphique :

>  permet le recalcul du graphe suite à l'interaction sur le graphe lui-même>  1 non : cet XSL fait systématiquement la mise à jour du graphe

Programme d‟interaction :>  AMAJPLAN par défaut (programme livré)>  possibilité d‟avoir un autre traitement >  Doit obligatoirement appeler le sous-programme MAJPLAN>  Doit obligatoirement avoir les paramètres identiques au sous-programme

MAJPLAN de AMAJPLAN>  Doit être déclaré dans le dictionnaire des sous-programmes

Page 187: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 187/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 187

23.8. NOMENCLATURE HORIZONTALE 

23.8.1. Présentation

Graphe :Le composant XSL permet de représenter des nomenclatures horizontalement.

 Avec le traitement interactif standard, il est possible de :•  Déplacer un élément et tout ce qui lui est attaché, si autorisé•  Afficher une photo pour chaque élément•  Avoir un menu contextuel (clic droit sur élément)•  D‟exécuter un traitement associé par double-clic sur dernier niveau d‟élément, si autorisé

(point d‟entrée CLICNOM depuis AMAJHIER) 

Le menu contextuel est à constituer, par l‟ajout d‟action Bouton, sur la variable de bas de tableau •  Exemple suppression de l‟élément : 

Subprog B2_NBCMPLocal Char MESSAGE(100)Local Integer CODRETCall MAJHIER("D",nolign,"",0,MESSAGE,CODRET) From AMAJHIERIf CODRET<>1Call ERREUR(MESSAGE) From GESECRAN

EndifEnd

Ecrans graphiques : Nomenclature horizontale

Copyright © Sage 2009-2010 98Safe X3 Développement

Page 188: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 188/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 188

23.8.2. Paramétrage écran

>  Paramètres écran

 Appel d‟un graphe de type XSL

 Appel du champ clob définis dans un bloc technique invisible de l‟écran pour recevoirle code d‟affichage XSL du composant écran ANOMH 

Bloc tableaulignes

•  1 ligne par élément de nomenclaturecolonnes

•  PARENT : « clé du père » de l‟enregistrement courant. Obligatoire, sauf la tête denomenclature.

•  KEYC : « clé » de l‟enregistrement courant. Obligatoire •  IMG : « image ». Facultatif. Image redimensionnée à la hauteur du nœud (paramètre

SIZEB)•  LIBSHORT : « libellé court ». Facultatif.  Affiché dans le cadre du nœud •  LIBL1 : « libellé long ». Facultatif. Info bulle affichée au survol d‟un nœud 

Nom champ imposé (sauf pour le clob) si utilisation du traitement standard de l‟XSL 

23.8.3. Paramétrage graphique

>  Paramètres graphiques :Composant écran : ANOMHModification autorisée : 1 non, 2 oui (Déplacement d‟une hiérarchie) 

Exécution sur double clic>  1 non / 2 oui (traitement à écrire dans AMAJHIER) sur élément le + bas>  point d‟entrée CLICNOM depuis AMAJHIER 

Remise à jour graphique>  permet le recalcul du graphe suite à l'interaction sur le graphe lui-même>  2 OUI : flag à positionner sur nomenclature horizontale et verticale

Taille des boites :>  100 x 100 points par défaut (adaptée pour image)

Programme d‟interaction :>  AMAJHIER par défaut (programme livré)>

  possibilité d‟avoir un autre traitement >  Doit obligatoirement appeler le sous-programme MAJHIER>  Doit obligatoirement avoir les paramètres identiques au sous-programme

MAJHIER de AMAJHIER>  Doit être déclaré dans le dictionnaire des sous-programmes

Paramètres : ANOMHModification autorisée :1 non, 2 oui (Déplacement d‟une hiérarchie) 

Exécution sur double clic•  1 non / 2 oui (traitement à écrire dans AMAJHIER)•  Sur élément le + bas•

  point d‟entrée CLICNOM depuis AMAJHIER 

Remise à jour graphique

Page 189: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 189/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 189

Permet le recalcul du graphe suite à l'interaction sur le graphe lui-même2 OUI : flag à positionner sur nomenclature horizontale et verticale

Taille des boites :•  100 x 100 points par défaut (adaptée pour image)

Programme d‟interaction : •  AMAJHIER par défaut (programme livré)•  possibilité d‟avoir un autre traitement •  Doit obligatoirement appeler le sous-programme MAJHIER•  Doit obligatoirement avoir les paramètres identiques au sous-programme MAJHIER de

 AMAJHIER•  Doit être déclaré dans le dictionnaire des sous-programmes.

Chemin d‟accès aux icones :

Images A placer dans le répertoire X3_PUB/ »dossier »/RES

Le traitement applicatif doit lire les images dans la base de données.Puis les stocker dans ce répertoire, avant l‟affichage de l‟organigramme. 

4.7 Nomenclature horizontale

Stockage images

Copyright © Sage 2009-2010 99Safe X3 Développement

Page 190: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 190/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 190

23.9. NOMENCLATURE VERTICALE 

23.9.1. Présentation

Graphe :Composant XSL permettant de représenter des nomenclatures verticales

 Avec le traitement interactif standard, il est possible de :•  Déplacer un élément et tout ce qui lui est attaché, si autorisé•  Plier / déplier un élément (clic sur symbole ou double-clic sur l‟élément) •  Avoir un menu contextuel (clic droit sur élément)•  D‟exécuter un traitement associé par double-clic sur dernier niveau d‟élément, si autorisé

(point d‟entrée CLICNOM depuis AMAJHIER) 

Le menu contextuel est à constituer, par l‟ajout d‟action Bouton, sur la variable de bas de tableau •  Exemple suppression de l‟élément : 

Traitement identique à la suppression sur nomenclature horizontale

Ecrans graphiques : Nomenclature verticale

Paramétrage > Utilisateurs > Profil menuCopyright © Sage 2009-2010 100Safe X3 Développement

Page 191: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 191/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 191

23.9.2. Paramètres écran

 Appel d‟un graphe de type XSL 

 Appel du champ clob définis dans un bloc technique invisible de l‟écran pour recevoir

le code d‟affichage XSL du composant écran ANOMV.

Renseignement des paramètres écrans>  1 ligne par élément de nomenclature>  PARENT : « clé du père » de l‟enregistrement courant. Obligatoire, sauf la

tête de nomenclature.>  KEYC : « clé » de l‟enregistrement courant. Obligatoire >  ICO : « icône ».>  LIBL1 : « libellé long ».

Nom champ imposé (sauf pour le clob) si utilisation du traitement standard de l‟XSL 

23.9.3. Paramètres graphiques :

Composant écran : ANOMVModification autorisée : 1 non, 2 oui (Déplacement d‟une hiérarchie) 

Exécution sur double clic :>  1 non, 2 oui (traitement à écrire dans AMAJHIER) sur élément le + bas>  point d‟entrée CLICNOM depuis AMAJHIER 

Remise à jour graphique>  permet le recalcul du graphe suite à l'interaction sur le graphe lui-même>  2 OUI : flag à positionner sur nomenclature horizontale et verticale

Programme d‟interaction : >   AMAJHIER par défaut (programme livré), possibilité d‟avoir un autre

traitement>  Doit obligatoirement appeler le sous-programme MAJHIER>  Doit obligatoirement avoir les paramètres identiques au sous-programme

MAJHIER de AMAJHIER>  Doit être déclaré dans le dictionnaire des sous-programmes

Page 192: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 192/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 192

Icones À placer sous X3_PUB/X3_ROOT

•  RESSTD/IMG pour le standard•  RESPER/IMG pour le spécifique•  RESVER/IMG pour le vertical

Ecrans graphiques : Nomenclature verticale

Stockage images

Copyright © Sage 2009-2010 101Safe X3 Développement

Page 193: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 193/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 193

23.10. RADAR 

23.10.1. Présentation

Graphe :visualisation uniquementPossibilité de sélectionner ou pas un élément à analyser ( clic sur l ‟œil ) Possibilité de mettre en évident un élément à analyser ( clic sur couleur )

23.10.2. Paramétrage écran

 Appel d‟un graphe de type XSL 

 Appel du champ clob définis dans un bloc technique invisible de l‟écran pour recevoirle code d‟affichage XSL du composant écran ARADAR 

Renseignement des paramètres écrans>  1 ligne par élément à analyser>  libellé : un identifiant unique ( ex : Matric1, Matric2, … ) un libellé associé à

l‟identifiant >  valeur : valeur correspondant à l‟axe d‟analyse précisé dans l‟intitulé, doit être

de type entier ou décimal et avoir un intitulé

Remarque :>  Possibilité de bouton sur variable de bas de tableau (clic droit sur zone)>   Aucun nom n‟est imposé. 

Ecrans graphiques : Radar 

Copyright © Sage 2009-2010 102Safe X3 Développement

Page 194: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 194/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 194

23.10.3. Paramètres graphiques :

Composant écran : ARADAR

Echelle :>  Permet de fixer une valeur maximum pour repère graphique, et calcule d‟une

échelle.>  0 : le composant adapte son échelle à la + grande valeur à représenter

Menu échelle :>  Menu local permettant de définir une légende pour la graduation de l‟échelle  

Remise à jour graphique 1 non / 2 oui

Composant écran :>   Aucun programme d‟interaction. >  Il n‟y aura donc pas de possibilité d‟intervenir sur ce graphe. >  Il sera juste en visualisation.

Page 195: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 195/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 195

23.11. BROWSER 

23.11.1. Présentation

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

Exemple d‟utilisation en standard : •  Plan d‟accès par clic droit sur la ville (type donnée CTY) 

23.11.2. Paramètres écran 

Code url ou html à renseigner par clic droit sur le bloc « browser »Possibilité d‟avoir 3 pages web 1 Champ clob pour recevoir ces pages html Ajout d‟un champ clob récepteur du code HTML. 

23.11.3. Définition composant écran

Ce code doit exister dans la gestion des composants écranSoit une adresse url (peut-être évalue)Soit une page html

L‟url évaluée est déterminée en initialisation du clob. (affzo) 

Ecrans graphiques : Browser 

Copyright © Sage 2009-2010 103Safe X3 Développement

Page 196: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 196/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 196

23.12. BUREAUTIQUE 

23.12.1. Présentation

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 données X3.•  Possibilité « d‟enregistrer sous » … et de constituer un fichier. •  Possibilité « d‟ouvrir  » et d‟insérer un document existant.•  Des macros peuvent être déclenchées depuis X3, pour permettre une interaction dans les 2

sens entre documents et données X3.

Exemple : « Vente>Devis>Devis »

Ecrans graphiques : Bureautique

Copyright © Sage 2009-2010 104Safe X3 Développement

Page 197: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 197/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 197

23.12.2. Traitement X3 de mise à jour

La mise à jour d‟un tableau X3 avec un document WORD ou Excel est effectuée par le traitementsuivant :

###############################################################################$MAJX3# maj Excel vers X3# le blob contenant le document Excel s‟appelle CEXCEL  CALLIU "majx3" From CEXCEL With CART(0..20),CINTIT(0..20),CQTE(0..20),CPRIXU(0..20)Effzo [M]10For I=0 To 19If 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 à paramétrer dans le menu suivant :« Vente > Devis > Documents office par défaut »

23.12.3. Paramètres écran

 Appel d‟un champ blob définis dans un bloc bureautique de l‟écran pour recevoir ledocument.

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 à l‟utilisateur (banalisé) 

23.12.4. Instruction calliu 

 Appel d‟une Macro Visual Basic Application associée à un document bureautique(Word, Excel, PowerPoint) contenu dans un champ blob d‟écran X3  Appel d‟une méthode JScript associée à un bloc graphe de type DHTML contenudans un champ blob d‟écran X3 

Syntaxe CALLIU macro From champ_blob With liste_paramètres

Macro : nom de la macro VBA ou méthode javascript à exécuter sur le clientchamp_blob : champ BLOB ou CLOB d’un écran contenant document ou graphe liste_paramètres : liste des paramètres à passer entre l’application X3 et la macro Exemple

CALLIU "majx3" From CEXCEL With CART(0..20),CINTIT(0..20),CQTE(0..20),CPRIXU(0..20)

Page 198: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 198/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 198

23.12.5. Programme VBA

Pour écrire un programme VBA allez dans le menu « Outils>Macro>Visual BasicEditor »La sécurité doit être au minimum pour permettre l‟exécution des macros

« Outils>Options… ».Exécution de la macro par Calliu.

Traitement X3########################################################################### maj tableau X3 à partir du document ExcelLocal 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]10For 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 ApplicationFunction majx3(article() As String, desig() As String, qte() As Integer, prixu() As Variant)Dim Range1 As String

For i = 0 To 20Range1 = "A" + CStr(i + 2)Range(Range1).Selectarticle(i) = ActiveCell.Valuedesig(i) = ActiveCell.Offset(0, 1).Valueqte(i) = ActiveCell.Offset(0, 2).Valueprixu(i) = ActiveCell.Offset(0, 3).Value

NextRange("A1").ActivateEnd Function

Page 199: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 199/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 199

23.13. METHODES JAVASCRIPT 

23.13.1. Présentation

Bloc graphique de type DHTMLDans cet exemple, les icônes permettent l‟appel à une méthode Jscript, du composant écran lié aubloc « browser »

23.13.2. Traitements X3

Subprog CL_ICO1(VALEUR)Variable Char VALEUR()CALLIU "verifierActionJoueurA" From CLT1 With 38End

Subprog CL_ICO2(VALEUR)Variable Char VALEUR()CALLIU "verifierActionJoueurA" From CLT1 With 37End

Subprog CL_ICO4(VALEUR)Variable Char VALEUR()CALLIU "verifierActionJoueurA" From CLT1 With 32

EndSubprog CL_ICO5(VALEUR)

Ecrans graphiques : macro VBA / méthodeJavascript

Copyright © Sage 2009-2010 105Safe X3 Développement

Page 200: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 200/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 200

Variable Char VALEUR()CALLIU "verifierActionJoueurA" From CLT1 With 39End

Subprog CL_ICO6(VALEUR)

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

23.13.3. Méthode javascript

Les méthodes JavaScript sont à écrire directement dans le composant écran.

Page 201: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 201/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 201

23.14. EDITEUR HTML

23.14.1. Présentation

Exemple dans le menu :« Développement > Dictionnaire données > Documentation > Documentation »

Gestion DocumentationExiste aussi en gestion documentation champ

Dégriser le bouton « ENREGISTRER » pour une modification dans le clob###########################################################################$STYLESetmok [M] With 0

Return

Subprog C_VLDFLG(VALEUR)Variable Integer VALEURLook [ADH]ADH0=[M]LAN;[M]TYP;[M]COD;[M]LEV;[M]SUBLEVIf !fstat : mkstat = 4 : EndifboutonEnd###########################################################################

Ecrans graphiques : Editeur html

Développement > Dictionnaire données > Documentation > Documentation

> Bloc Editeur HTML

Permet de saisir une documentation pour un objet.

Copyright © Sage 2009-2010 106Safe X3 Développement

Page 202: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 202/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 202

23.15. VUE PORTAIL 

23.15.1. Présentation

>  Paramètres écran

 Appel d‟un champ clob définis dans un bloc Editeur HTML de l‟écran pour recevoir lesinformations.

Dimension ( lignes - colonnes / capacité de stockage )

Vue portail•  Visualisation uniquement•  Eléments portail insérables dans les écrans•  Pas de tableau de données associé

•  Pas de traitement à écrire•  C‟est un jeu de paramétrage à insérer dans l‟écran •  Vue portail autorisée : calendrier, agenda ou graphe flash (type composant = FCA, FAG,

FGR)

Exemple :C‟est une requête restituée par un graphe flash. Pour chaque fenêtre, est indiqué le nombre de masques.

Ecrans graphiques : Vue portail

Copyright © Sage 2009-2010 107Safe X3 Développement

Page 203: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 203/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 203

23.15.2. Paramètres écran

Permet l‟affichage de données externes à la fonction 

Description bloc

>  Sélection d‟une vue portail (paramétrage/portail/vues portail)>  Paramètre est un champ clob

Les champs>  Un seul champ de type clob>  C‟est le réceptacle des informations >  Dimension ( lignes - colonnes / capacité de stockage )

23.16. EXERCICE : CONSULTATION DES COMMANDES 

23.16.1. Objectif

Consulter un ensemble de commandes en fonction de critères de sélection saisis en entête.

Visualiser le résultat 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 critères de sélection.

Pour l‟onglet 1 :

Pour chaque article, on lira l‟ensemble des lignes de commande correspondantes pour remplir letableau.

Page 204: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 204/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 204

Page 205: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 205/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 205

Pour l‟onglet 2 :

Pour chaque article, on lira l‟ensemble des lignes de commande correspondantes pour remplir letableau ; et pour chaque ligne de commande, on lira l‟entête de commande.

23.16.2. Marche à suivre

Création d‟un écran d‟entête   YGX1 Création de 2 onglets  YGX2, YGX3Création d‟une action   YGX Création d‟une fonction  YGX Création du traitement  YGX

Pour ce faire, utiliser les descriptions ci-dessous.

Ecran d’entête 

Saisie de bornes article.

Champ Saisie Oblig. Particularités Dévelop.

YITMREFD S non Fenêtre de sélection sur vos articles

Pas de contrôle d‟existence de la valeur  

YITMREFF S non Fenêtre de sélection sur vos articles

Pas de contrôle d‟existence de la valeur  

Page 206: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 206/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 206

Onglet 1

Prévoir un tableau, dans lequel on aura une ligne par article.Pour chaque ligne d‟article, on a un champ quantité et prix HT * quantité

 Associer un graphe à ce tableau.Le tableau et le graphe sont visualisables.

Champ Libellé Saisie Spécifique Dévelop.

NBLIG S Tunnel sur la fiche article

YITMREF Article A Alimenté par la référence article Oui

YQTY Quantité A Alimenté par la quantité Oui

YORDNOT Prix HT A Alimenté par: prix * quantité Oui

Onglet 2

Prévoir un tableau, dans lequel on aura une ligne par article.Pour chaque ligne d‟article, on a la désignation article et la quantité mois par mois.  Associer un radar à ce tableau.Le tableau et le graphe sont visualisables.

Champ Libellé Saisie Spécifique Dévelop.

NBLIG S Tunnel sur la fiche article

YITMREF Article A Alimenté par la référence article Oui

YITMDES Nom A Alimenté par la désignation article Oui

YCRIT1 Janvier A Alimenté par la quantité Oui

… 

YCRIT12 Décembre A Alimenté par la quantité Oui

Fenêtre YGX

Cette fenêtre est composée de :un entête et deux ongletsboutons « recherche » et « fin »

Action YGX

Choisir le modèle pour le développement de cette fonction.

Traitement

Suite à la saisie des bornes articles, l‟utilisateur clique sur le bouton «  Recherche ».Ce bouton doit lire les commandes et afficher les résultats dans les deux onglets à la fois.Le traitement YGX est à compléter.

Page 207: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 207/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 207

23.16.3.  A vérifier

Les données restituées dans les graphes et tableaux.

Notes

Page 208: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 208/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 208

Page 209: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 209/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 209

24. SPECIFIQUE 

24.1. REGLES GENERALES 

24.1.1. Règles de nommage

Les caractères suivants sont strictement réservés et ne doivent pas être utilisés horsde ce contexte : A* superviseur

 –   J* produit TMS –   W* éléments générés –   X* add-on et verticaux, –   Y* spécifiques partenaires –   Z* spécifiques clients

Les caractères suivants sont recommandés :

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

Utilisation d'une codification anglophone, pouvant être constituée de groupes de 3car. capitalisés dans la fonction "codification/rubriques"

Positionnement Code activités verticaux et spécifiques 

 –   Création : code activité au niveau le plus haut –   Modification : code activité au niveau le plus bas –   Suppression : code activité inactif

Les noms de traitements sont limités à 30 caractères.

24.1.2. Règles pour action / champ standard

STD  ne sont ni modifiables ni supprimables

SPV  action verticaleSPE  action spécifique

Action dictionnaire X, Y ou Z 

Remarque : Les actions spécifiques sur champs ne nécessitent pas de codes activité.

24.1.3. Règles pour action / modèle

Ordre d‟exécution figé : spécifique, vertical puis standardDésactivation de l‟action standard : GPE=1Désactivation de l‟action verticale : GPV=1Possibilité d‟appel de l‟action standard ou vertical par programmation : 

#################################################################################Permet l‟exécution du standard avant le spécifique 

Page 210: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 210/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 210

$ACTIONCase ACTION

When «OUVRE » : Gosub OUVREWhen default

Endcase

return$OUVREGosub OUVRE From SUBxxx… ( spécifique) GPE = 1return################################################################################

Page 211: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 211/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 211

24.1.4. Nommage des traitements spécifiques

Objet :  SPE+objetSPV+objet pour traitement vertical

Consultation :  CNS+consul tat ion +SPE

Traitement standardSaisie fenêtre : Sélection table :Sélection liste : Xxxx, Yxxx, Zxxx  Affichage divers :Etat :Import / export : 

24.1.5. Transaction de saisie

Certains écrans standards sont affichés dans l ‟application via des écrans générés par lesfonctions de transactions de saisie

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

L’écran SLN0 n’est jamais affiché.L‟écran de nom W+compteur généré par la transaction de saisi est utilisé. 

Pour modifier l‟écran appelé par « Stock>Inventaires>Inventaires » la marche à suivre est la suivante:

 _ Modification de SNL0. _ Puis validation de la ou des transactions dans « paramétrage>Stock>Transactions desaisie>Inventaire ».Les autres transactions sont répertoriées dans les différents modules.

Attention ! Si l‟on modifie directement les écrans de transaction alors les modifications serontécrasées par la prochaine validation de la transaction!

24.1.6. Traitements générés

Noms IntitulésW0+écran Traitement d'import d'un écranW1..9+écran Traitements d'un écranWO + objet Traitement d'un objetWG + fenêtre Traitement d'une fenêtreWWCNS + cons. Traitement d'une consultationWWINI + abrév. Traitements d'initialisation d'une tableWWI + compteur Traitement d'importWWE + compteur Traitement d‟exportWWGLOBLON Var. glob. liées aux types de données alphanumériquesWWGLOBVAR Variables globales liées aux paramètresWWGLOB + chap Variables globales liées aux paramètres par chapitre

Page 212: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 212/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 212

24.1.7. Limites des composants dictionnaires

Eléments Total Standard SpécifiqueNombre d‟onglets  15 10 5Nombre de browsers 9 6 3

Nombre de boutons sur champs 20 16 4Nombre de boutons et menus 60 minusculesNombre d‟options dans les fonctions  8 minusculesNombre d‟options dans les objets  9 minusculesTextes de la table ATEXTE 1  – 49 999 50 000  – 99 999

 Ajout des éléments spécifiques (onglets, browsers, …) en fin de liste standardPlacement par le rang

Messages :Vertical 160 - 169

5000 – 5199Spécifique 6000 – 6199

Menus locaux :Vertical 1000 – 1999

5200 – 5999Spécifique 6200 – 6999

Pour les tables diverses1000 - 1999 Tables diverses

Un code activité est nécessaire dans leur définition

24.1.8. Règles des paramètres généraux

 Ajout d‟un chapitre spécifique (Xxx, Yxx, Zxx) dans la table diverse 901 chapitres pour paramètres

 –    Ajout d‟un paramètre spécifique (Xxx, Yxx, Zxx) dans ce chapitre 

Ajout d’un paramètre spécifique Peut aussi se faire dans un chapitre standardDans tous les cas, il doit avoir un code activité spécifique

Traitement WWGLOBVARDès qu‟une variable globale est associée au paramètre

•  exécuté automatiquement à la connexion du dossier

Traitement WWGLOBXXX ( XXX = module )•  est alimenté dès qu‟un paramètre de niveau société ou site est associé à une variable globale•  n‟est pas exécuté automatiquement •  dès l‟entrée dans une fonction ou dès la saisie du champ site faire

Call GLOBVAR (SITE) From WWGLOBXXX

Variable globaleEst à créer dans le dictionnaire associéPour le spécifique doit commencer par X,Y,Z,GX,GY ou GZ.

Page 213: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 213/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 213

24.1.9. Création de patch avec bornes de date

La création de patch peut être exécutée depuis le menu « Développement \ Utilitaires \ Patch \Création automatique de patch »

Cette fonction permet :Sélection automatique :Tous les éléments spécifiques modifiés entre 2 dates avec code activité.

Langue :Pour sélectionner les messages attachés aux éléments patchés.

Traitement à exécuter :Sera lancé en fin d‟intégration de patch Doit contenir le sous-programme PATCH. Le dossier est passé en paramètre.Exemple :

####################################################################

Subprog PATCH(APPLI)Value Char APPLIIf clalev([F:ADS])=0 local File ADDOSSIER [ADS] EndifRead [ADS]DOSSIER=APPLI : If fstat Raz [F:ADS] EndifIf [F:ADS]MODULE(n)<>2 End Endif… End####################################################################

Type de patchProvisoire ou définitif

24.1.10. Création de patch sans bornes de date

La création de patch peut être exécutée depuis le menu « Développement \ Utilitaires \ Patch \Création de patch »

Sélection automatique :tous les éléments spécifiques pour le code activité renseigné.

Langue :Pour sélectionner les messages attachés aux éléments patchés.

Traitement à exécuter :sera lancé en fin d‟intégration de patch 

Type de patchProvisoire ou définitifPatch standard : intégration du standard dans tous les dossiers. Spécifique et verticalconservésPatch superviseur : intégration dans le dossier mère uniquement. (réservé austandard pour la doc.)Patch vertical : intégration dans tous les dossiers. Spécifique conservé. Suppressiondes actions SPV obsolètes.Patch spécifique : intégration dans tous les dossiers. Suppression des actions SPE obsolètes.

Nom fichier : SRC xxxxxxxx

Insertion des traitements et états dans les répertoires adéquats du dossier applicatif.

Page 214: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 214/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 214

Type objet : Ordre de déclaration sans importance (tri du superviseur)patch d‟un traitement : source ou compilé pour tout type patchable : validation associée effectuéepour les fonctions : validation menus ADMIN seulement

tout enregistrement de toute table est patchableabrev de la tableFiltre de sélection du ou des enregistrements

table système sont à intégrer dans le dossier mèrepour lancer un traitement suite à l‟intégration du patch 

type = EXEnom = nom du traitement à exécuterce traitement aura un sous-programme PATCHpeut écrire dans la trace

Code activité : Code activité spécifique obligatoire et doit être créé dans le dossier du client et coché actif.

 

24.1.11. Exécutables 

EXE à insérer lorsqu'on patche les éléments suivants :

Ecran de consultation ( AMK )EXE SUBGTC permet la validation de tous les écrans de paramétrage

Ecran de base ( AMK )EXE SUBxxx permet la validation de toutes les transactions de saisie ( xxx= code objet de latransaction )

Styles de présentation ( ASY )

EXE SUBASY permet la validation de tous les styles

Transactions systèmes ( AMI )EXE SUBAMI permet la validation de toutes les transactions

Paramètres statistiques ( PS2 )EXE SUBPS2 permet la validation de toutes les stats

Eléments associés à insérer lorsque l’on patche les éléments suivants : Style conditionnel (ASL)patcher les écrans associés ( AMK ).

24.1.12. Nommage d‟un patch 

La règle de nommage conseillée, pour les fichiers patchs en spécifique ou vertical est :<SpecificId>_<PatchNumber>_<X3RequiredPatchLevel>_<X3Version>.dat

SpecificId : identifiant du spécifique ou verticalPatchNumber : numéro d‟ordre séquentiel X3RequiredPatchLevel : numéro de liste de patch standard à partir duquel est compatible lespécifique/vertical (facultatif)X3Version : version du produit hôte avec laquelle est compatible le patch spécifique/vertical

prérequis : dossier déclaré de type spécifique pour intégration des traitements.

Page 215: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 215/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 215

24.1.13. Patch concernant une table :

Pour la structure d‟une table type ATB, suivi du nom de la table.

Pour annuler et remplacer tous les enregistrements d'une tabletype TAB, suivi du nom de la table.

Pour patcher un ou plusieurs enregistrements d'une table,type abrév. table, suivie d'une expression de filtre.Le patch permet la création 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 ).

Page 216: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 216/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 216

24.1.14. Test d‟un patch 

Le test d‟un patch se fait via le menu : « Développement \ Utilitaires \ Patch \ Test de patch »

 Avant l‟intégration de patch standard 

Vérifie si des éléments à patcher sont en conflit avec les éléments protégés par code activitéspécifique.

Vérification de tous les patchs d‟un répertoire

Une trace détaille l‟ensemble des conflits 

Exemple :La consultation BAL protégée par le code activité ZDA ne sera pas mise à jour par patch standard.

24.1.15. Intégration d‟un patch 

Renseignement du chemin du fichier à créer.Ne pas oublier de cocher l‟information « Intégration des patchs ».Ne garder sélectionnés que les dossiers où doit être intégré le patch.

Dossier : •  passer le patch sur le dossier applicatif uniquement

Intégration de traitements spécifiques : •  il faut un dossier typé « dossier spécifique »•  Ou un patch nommer SRCxxxxxxx•  Sinon, seuls les traitements spécifiques déjà existants seront mis à jour.

Sur un dossier de test :•  Intégration des traitements standards qui sinon resteraient dans le dossier mère.

Action ZSPX sur un champ d’écran : Rend inactif toute les actions spécifiques de même type sur ce champSPE, SPX, actions > X.Ce type de traitement est surtout utilisé dans les versions antérieures à la V5, car maintenant, nouspouvons désactiver les actions standards ou verticales directement à partir du paramétrage de l‟écran. 

Page 217: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 217/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 217

25. CONCLUSION 

25.1. THEMES ABORDES AU COURS DE CETTE FORMATION :

Création des éléments suivants :>  tables, écrans, objet, fenêtre, actions, fonction, batch, traitement SPE

Modification de l‟existant : >  tables, écrans, objet, fenêtre, fonctions, code activité

Choix du modèle à utiliser pour le développement d‟une fonction : >  Modèle objet, saisie fenêtre, traitement standard… 

 Apprentissage du langage X3.

Page 218: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 218/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 218

25.2. TABLEAU DES FORMATIONS 

Page 219: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 219/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 219

26. EXERCICES COMPLEMENTAIRES 

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

26.1.1. ObjectifEn gestion article, déclencher le changement de style lorsque l‟utilisateur modifie le statut actif/inactifsur une ligne article.

26.1.2. Marche à suivre

Programmer le changement du style sur la référence article, en utilisant l‟instruction Chgstl (voir lasyntaxe dans l‟aide en ligne). 

26.1.3.  A vérifier

Si on rend l‟article actif, le style devient visible sur la référence article.  Si on rend l‟article inactif, le style est effacé.

Notes

Page 220: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 220/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 220

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

26.2.1. Objectif

 Ajouter 2 champs dans la gestion article :

Texte traduit long  YDESTRA Texte traduit court  YSHOTRA 

26.2.2. Marche à suivre

 Ajouter ces 2 champs dans la table, l‟écran et la fenêtre de sélection des articles. Permettre une mise à jour de ces champs dans la table des Textes traduits, pour ce faire aidez-vousde l‟exemple du traitement SUBTUN utilisé pour traduire les unités. 

26.2.3.  A vérifier  

En gestion commande, ouvrir la fenêtre de sélection des articles.

Dans la fonction des articles créer des intitulés traduits.

Notes

Page 221: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 221/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 221

26.3. EXERCICE C : LISTES GAUCHES EN GESTION CLIENT

(COMPLEMENT EX 2)

26.3.1. Objectif

 Ajouter 4 listes gauches simples, dans la gestion client :

 YC1 Liste des prospects, en ne proposant que les prospects YC2 Liste des clients, en ne proposant que les clients 

Ces 2 listes sont composées des champs YBPCNUM et YBPCNAM.

 YC3 Liste composée des champs YBPCNAM et YBPCNUM, triée par nom. 

 Ajouter une liste gauche hiérarchisée, dans la gestion client :

 YC4 Liste composée des champs YARE et YBPCNUM. 

26.3.2. Marche à suivre

Pour répondre au besoin de la liste YC4 qui est une liste hiérarchisée, créer un index supplémentairedans table YCUSTOMX, sur laquelle cette liste pourra s„appuyer. 

Pour filtrer les enregistrements sur une liste, aidez-vous de l‟aide sur les actions liées aux browsers. 

Pour l‟identification de la liste gauche, aidez-vous de l‟aide de l‟action OUVRE_BOITE définis à la findu chapitre 12 du cours.

26.3.3.  A vérifier

Présence des nouveaux browsers.

L‟alimentation de ces browsers 

Browser hiérarchisé pour le browser YC4

 Alimentation partie droite de l‟écran, lorsqu‟on sélection un élément d‟un browser. 

Page 222: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 222/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 222

Notes

Page 223: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 223/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 223

26.4. EXERCICE CONSULTATION CLIENT 

26.4.1. Objectif

Créer une consultation capable d‟afficher et de trier les clients en fonctions de critères. 

26.4.2. Marche à suivre

Création des écrans entête et détailCréation de la fenêtreCréation de la consultation de nom YCLCréation de l‟action Création de la fonction

Ecran d’entête 

Champ Saisie Oblig. Particularités

YTRI S Menu local

YORDTOTNOT S DCB

YARE S Type ADI

YTRI doit contenir les 3 possibilités : Aucun triSecteur géographiqueTotal HT

Ecran détail

Champ Saisie Oblig. Particularités

YBPCNUM S Type de données YCX

YORDDAT S Date dernière commande

YORDTOTNOT S DCB

YORDTOTATI S DCB

YARE S Type ADI (table 1000)

Traitement :Le traitement devra permettre l‟affichage de la liste des clients avec la possibilité de trier de 3

manières différentes : Aucun tri : La clef de parcours est définie par l‟index YCX0 Secteur géographique : La clef de parcours est définie par YARE + YBPCNUMTotal HT : la clef de parcours est définie par YORDTOTNOT par ordre décroissant.

Le traitement permettra de filtrer les commandes en dessous du total HT définis dans leYORDTOTNOT.Enfin, le traitement permettra d‟afficher uniquement les commandes réalisé dans un secteurgéographique, champ YARE.

Pour créer ce traitement aidez-vous de l‟exemple du cours décrit dans l‟action LECTURE. 

Page 224: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 224/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 224

26.4.3.  A vérifier

 Affichage des clients sur clique du bouton RechercheGestion des tris et des filtres

26.4.4. Etape N°2

Gestion des boutons bas de pages.

Un traitement YGENETEST est présent sur votre dossier, ce traitement permet d‟effacer toutes leslignes précédemment créées (commandes, clients, articles) pour créer 1000 lignes de tests par tables.

Pour exécuter ce traitement allez dans le menu « Développement>Utilitaires>Divers>ExécutionTraitement » puis renseignez le nom du traitement.

Une fois le traitement exécuté, vérifiez que les lignes ont bien été créées, puis modifiez votre

traitement pour que celui-ci prenne en compte le changement de page devenu maintenant nécessaire.Pour modifier le traitement, aidez-vous de l‟exemple du cours décrit dans l‟action LECTURE. 

26.4.5.  A vérifier

Vérifier le fonctionnement des boutons RETOUR et SUITE

Notes

Page 225: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 225/226

SAFE X3 DEVELOPPEMENT 

Copyright © Sage 2011 Page 225

26.5. SUJETS ABORDES

Exercice 1 Objet de type tableau

Exercice 2 Objet de type simple Action du dictionnaire Appel action champType de donnéeTable diverseMenu local

Exercice 3 Objet de type simple (entête  – détail) Actions sur champ Action sur l‟objet 

Exercice 4 Menu dans barre de menuSaisie fenêtre

Exercice 5 Bouton en bas d‟écran Traitement standardLocks logiques  – Locks physiquesEcriture dans une trace

Exercice 6 Consultation des commandes standards

Exercice 7 Point d‟entrée 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

Page 226: Sage ERP X3 development

7/21/2019 Sage ERP X3 development

http://slidepdf.com/reader/full/sage-erp-x3-development 226/226

SAFE X3 DEVELOPPEMENT