0% ont trouvé ce document utile (0 vote)
17 vues51 pages

Guide de formation sur la gestion des données

Ce document décrit le planning et le contenu d'une formation sur la gestion de base de données. Il fournit notamment le timing détaillé des différents modules sur plusieurs jours ainsi que les principes de base du système.

Transféré par

N Jpaul
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues51 pages

Guide de formation sur la gestion des données

Ce document décrit le planning et le contenu d'une formation sur la gestion de base de données. Il fournit notamment le timing détaillé des différents modules sur plusieurs jours ainsi que les principes de base du système.

Transféré par

N Jpaul
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd

Guide du formateur

Guide du formateur..............................................................................................................................1
Timming de la formation.....................................................................................................................2
Traçage des évolutions du support de cours.................................................................................5
Les principes de base..........................................................................................................................6
Les tables...............................................................................................................................................8
Les écrans............................................................................................................................................17
Les Objets...........................................................................................................................................23
Fenêtres...............................................................................................................................................25
Tables diverses..................................................................................................................................26
Code activité.......................................................................................................................................27
Exercice 1 : objet article.................................................................................................................28
Action champ......................................................................................................................................29
Type de données.................................................................................................................................31
Exercice 2 : objet client..................................................................................................................32
Actions.................................................................................................................................................33
Fonctions..............................................................................................................................................34
Action Objet.......................................................................................................................................36
Exercice 3 : gestion des commandes............................................................................................38
Modèle Traitement standard..........................................................................................................39
Modèle GSAISIE...............................................................................................................................39
Consultations.......................................................................................................................................40
Etats.....................................................................................................................................................43
Imports................................................................................................................................................44
Spécifique............................................................................................................................................45
Exercices.............................................................................................................................................47

Page 1 sur 51
Timming de la formation

Lundi ( matin ) durée début fin

Tables 45’ 9h30 10h15


Ecrans 45’ 10h15 11h00
Objets 30’ 11H00 11h30
Fenêtres 30’ 11h30 12h00

Lundi ( après-midi ) durée début fin

Exercice 1 - gestion articles 2h30 14h00 16h00


Corrigés – Ex 2 30’ 16h30 17h00
Menus locaux
Tables diverses

Mardi ( matin ) durée début fin

Codes activités
Actions champ 2h00 9h00 11h00
Types de données

Mardi ( après-midi ) durée début fin

Exercice 2 - gestion clients 2h00 14h00 16h00


Corrigés – Ex 2 30’ 16h30 17h00
Actions
Fonctions

Page 2 sur 51
Mercredi ( matin ) durée début fin

Actions objet 2h00 9h30 11h30

Mercredi (après-midi ) durée début fin

Exercice 3 - gestion commandes 3h00 14h00 17h00


Corrigés – Ex 3 30’ 17h30 18h00

Jeudi ( matin ) durée début fin

Autres modèles 2h00 9h00 11h00


Sans modèle
Consultations

Jeudi ( après-midi ) durée début fin

Exercice 4 - bouton / menu 3h30 13h30 17h00


Corrigés – Ex 4 30’ 17h30 18h00

Page 3 sur 51
Vendredi ( matin ) durée début fin

Etats 30’ 9h00 9h30


Import/Export 1h00 9h30 10h30
Historisation / Epuration 30’ 11h00 11h30
Spécifiques 30’ 11h30 12h00

Vendredi ( après-midi ) durée début fin

Exercice 7 - Traitement diff.


Corrigés – Ex 7

Page 4 sur 51
Traçage des évolutions du support de cours

Chaque lot de modifications sera identifié par un numéro de révision et une date de mise
à jour.
Et pour chaque page ayant subi une évolution, on ajoutera dans la page commentaire les
codes suivants :
 Dnnn pour une évolution de la diapo.
 Cnnn pour une évolution de la page de commentaire
( où nnn est le numéro de révision )

Page 5 sur 51
Les principes de base

Système d’exploitation – BDD


Système Unix :
 IBM AIX 5 - Oracle 9.i
 Hp UX 11 - Oracle 9.i
 Linux RedHat (machine intel ou équivalente ) - Oracle 9.i ( version 142 )

Système Windows :
 Windows 2000 ou 2003 - Oracle 9.i, SQL 2000

Ne sont plus supportés :


 Unixware7 (SCO)
 Windows NT

Niveaux :
1 ou 2 niveaux de dossiers pour les dossiers clients.

2 niveaux : pour les transversaux

Dossiers livrés :
X3 on y installe les éléments du dossier REFFRA ou REFENG en fonction de la
langue d’installation.
DEMO est installé sous X3, si l’opérateur le demande.

Dossier X3 :
Tables systèmes
 ne sont pas générées dans les dossiers filles
 référentiel unique pour l’ensemble des dossiers fille
 ex : AABREV Table des abréviations
ACODIF Table des codifications de nom de champs
ASUBPROG Table des sous-programmes

ADOSSIER Table des dossiers


ADOSDIM Table des éléments dimensionnement / dossier
AFORDIM Table des formules de dimensionnement
ADIMENSION Table des éléments de dimensionnement

Page 6 sur 51
Sources
 catégories de sources livrées par le standard :
SUB* standard lié à l’objet
IMP* standard pour les imports
*STD standard pour les consultations
FUN* standard pour une fonction hors objet

Dossier spécifique :

catégories de sources spécifiques :


SPE* spécifique lié à l’objet
*SPE spécifique lié à la consultation
X*
Y* spécifique pour une fonction hors objet
Z*

Verticalisation

(3 niveaux : X3, le dossier de référence (appelons-le VERTICAL) et le dossier d'exploitation


(appelons-le EXPLOIT).

Elle se fait de la façon suivante :


 Si un spécifique doit être réalisé par le client, il faut qu'il crée le traitement SPEXXXX dans le
dossier EXPLOIT (et surtout ne pas déclarer son dossier d'exploitation comme étant de type
spécifique, ni test, pour éviter d'écraser son traitement SPEXXXXX si celui-ci est patché par
KARDOL).

 Son problème est alors qu'il va occulter le traitement SPEXXXX qui se trouve dans le dossier
VERTICAL, et donc perdre une partie des spécificités qui l'intéressent. Pour les retrouver, il faut
tout simplement les appeler ! Et ceci peut être fait de la façon suivante :

$ACTION
.... traitement spécifique (lignes à exécuter - si nécessaire - avant le traitement standard)
Gosub ACTION From ="[Link]"
.... traitement spécifique (lignes à exécuter - si nécessaire - après le traitement standard)....
Return

$AM_ZONESTD(VALEUR)
.... traitement spécifique (lignes à exécuter - si nécessaire - avant le traitement standard)
Call AM_ZONESTD(VALEUR) From ="[Link]"
.... traitement spécifique (lignes à exécuter - si nécessaire - après le traitement standard)....
End

 La seule contrainte, c'est qu'il est impératif de déclarer au minimum toutes les étiquettes existant
dans le traitement SPEXXXX verticalisé (mais ce n'est pas une contrainte si lourde que celà).
Cela suppose que le distributeur livre le source de son SPEXXXX (c'est homogène avec ce que
nous faisons, puisque nous livrons le source du traitement SUBXXXX).

Ainsi que vous le constatez, cette solution s'appuie sur le fait que le moteur sait appeler et différencier
deux traitements de même nom dans deux dossiers différents... Elle ne présente en outre aucune

Page 7 sur 51
contrainte sur les développements verticaux; elle suppose simplement de former le client qui va
développer.

Page 8 sur 51
Les tables

Dictionnaire : informations générales


Prendre l’exemple de la table BPARTNER

Abréviation de la table :
 sur 3 caractères maximum.

 Elle est utilisée en programmation pour nommer le champ d’une table.

Ex : [F :BPR]BPRNAM c’est champ « raison sociale » de la table BPARTNER.

Code activité :
 Préciser l’utilité du code activité pour le spécifique uniquement.

 Axx pour le superviseur

 Kxx pour les localisations

 X, Y, Zxx pour le spécifique

Module :
 Permet la création de la table, si le module est installé.

 Il faut en validation de dossier positionner au minimum les modules :

1 superviseur
9 Tronc commun
10 Développement
 4 modules spécifiques (pas de possibilité de modification des libellés)

Champ intitulé :
 Sert à identifier le champ intitulé de la table pour des automatismes du superviseur.

 Montrer la gestion des tiers, sur l’écran BPR1.

Le libellé non stocké dans la table des tiers est récupéré de la table
TABCOUNTRY et affiché automatiquement par le superviseur.

Type de base :
 On peut créer une table sur une autre base que celle du dossier à la condition que le

fichier adxora (ou équivalent pour d’autre base qu’Oracle) soit correctement
renseigné.

Nombre de fiches :
 Lors de la validation de la table cet élément est pris en compte pour déterminer la

taille de la table.
Si on a 0, on crée la table avec 1000 enreg.
( pas de prise en compte de la formule de dimensionnement).
En modification de table, ce champ est pris en compte si > à la valeur précédente.

Page 9 sur 51
 Lors de la validation de dossier,
Pour les tables spécifiques, pas d’utilisation des formules de dimensionnement ;
c’est le même fonctionnement qu’en validation table.
Pour les tables standard
En création, on prend en compte la formule de dimensionnement
Si elle n’existe pas, on prend en compte la taille définie dans la table
Si la taille définie dans la table n’existe pas, on prend 1000.

En modification, si une formule existe et donne une valeur > à la valeur actuelle de
[F :ATB]NBENREG, on met à jour [F :ATB]NBENREG avec le résultat de la
formule.
(Développement / Dictionnaire données / Formules de dimensionnement )

 En fonction du paramétrage de la base de données, des extends seront possibles.


( mais attention ! aux temps de réponse). Il peut être alors intéressant de
redimensionner la table en modifiant le nombre de fiches puis en re-validant cette
table.
 Conseil : pour les gros fichiers (exemple : saisie des écritures)

Qui atteindra leur taille maxi au bout de 2 ou 3 ans


On divise le nombre maxi par 2 ou 3.
On redimensionnera ensuite.
 Un utilitaire permet de voir l’état des tables.

(Développement / Utilitaires / Vérifications / Etat des tables )

Remise à zéro :
 La table ( ainsi que toutes les tables cochées) sera effacée ( et non pas supprimée)

par l’utilitaire de remise à zéro du dossier.


 Il n’y a pas de contrôle d’intégrité de la base de données.

(Développement / Utilitaires / Dossiers / Remise à zéro dossier )

Type de table :
 Applicatif : Les tables spécifiques seront de ce type

 Système X3 : les tables restant dans le dossier mère et donc unique pour
l’ensemble des dossiers fille.
 Dictionnaire : les tables contenant la définition des éléments : tables, écrans,
Objets…Présentes dans tous les dossiers.
 Superviseur : les tables superviseur autre que système X3 et Dictionnaire.
 Interne : les tables Adonix non livrées.

Type de copie :
 Pas de copie / Copie automatique / Copie conditionnelle

Page 10 sur 51
 Cette zone est utilisée à la création du dossier fille, pour les tables applicatives et
superviseur. (Les tables dictionnaire étant copiées systématiquement ; les tables
systèmes n’étant pas copiées du tout).
 C’est une copie de la structure des tables puis des données.

 Si copie conditionnelle, l’option de copie est à renseigner.

Option de copie :
 Groupe auquel appartient la table pour la copie

 Pas de possibilité d’ajout d’une option de copie spécifique

 C’est à la validation du dossier que l’on positionne ou pas, la copie pour un groupe.

 Montrer le paramétrage du dossier, onglet unit.

(Paramétrage / Paramètres généraux / Dossiers )

Page 11 sur 51
Dictionnaire : champs

Zone :
 Commence par X_,Y_, ou Z_ pour le spécifique.

 Est codé par groupe de 3 caractères

 Montrer l’aide à la codification

(Développement / Dictionnaire des données / Codification )


 Montrer la signification qui utilise la codification (menu contextuel).

 Montrer l’aide à la création si on crée un champ déjà référencé dans une autre table.

Type de données :
 Se contenter de définir les types de données unitaire (A,DBC,D,C,L ,M,ACB,ABB)

Menu :
 N° de menu local pour les champs dont le type de données est M.

 C’est un ensemble de valeurs possibles pour ce champ.

 Faire un tunnel sur le menu local 1.

Longueur :
 Il est toujours nécessaire de définir la longueur d’un champ

 Si ce champ n’est pas renseigné, c’est que la longueur est définie dans le type de

données.
 Pour un champ alpha, la limite est de 250 caractères. ( + précisément 254 en saisie

et 255 au stockage. Elle était de 239 car en 130)

Code activité :
 Code activité spécifique au niveau du champ, permet de récupérer le standard pour

le reste de la table.
 En cas de création d’une table spécifique, le code activité est à positionner dans les

info. Générales.
 En cas de modification d’une table spécifique, le code activité est à positionner dans

les champs modifiés ou ajoutés.


 Code activité inactif, n’a pas d’effet à ce niveau ( pas de suppression de champ).

Dimensionnement :
 Permet de définir des occurrences pour un champ.

Intitulés :
 Les textes ne sont pas stockés dans la table ATABLE mais dans la table ATEXTE qui

est soumise à traduction. (Ceci est vrai pour toutes les tables du superviseur)
(Traduction / Traduction textes)
 Dans chaque table, c’est le numéro de texte qui est stocké.

 Aide à l’harmonisation des abréviation.

(Développement / Dictionnaire données / Abréviations)

Page 12 sur 51
Intitulés évalués : mess(3,243,1) évalué à l’exécution de l’écran
#mess(3,243,1) évalué à la validation de l’écran

Page 13 sur 51
Options :
 C’est un format particulier de saisie ou d’affichage dépendant du type de données.

 Fenêtre de sélection permet de connaître les possibilités.

 Servira dans la gestion des écrans.

Table liée :
 A renseigner sur un champ qui est clé (ou dernier élément de clé) sur une autre

table.
 Utilisée pour des contrôles dans les traitements superviseur (suppression
enregistrement, changement de code, épuration) pour garantir l’intégrité des
données.
(Développement / Utilitaires / Divers / Suppressions)

Expression de lien :
 A préciser si le champ n’est pas le seul élément de clé. Dans ce cas, les informations

ne sont pas suffisantes pour faire le lien sur un seul enregistrement.


 Syntaxe : élt1 ;élt2 ;…éltn

 Si non renseigné à tort, un message avec description de la clé s’affiche.

Annulation :
 Action du superviseur lorsque l’enregistrement de la table liée est supprimée ou

épurée (présenter les épurations, si besoin) .


 Bloquant : l’enregistrement de la table liée ne sera pas supprimé

 Suppression : l’enregistrement de la table liée sera supprimé ainsi que celui de la


table courante.
 Raz : l’enregistrement de la table liée sera supprimé et le champ de la
table courante sera ré-initialisé.
 Autre : l’enregistrement de la table liée sera supprimé. Rien sur la table
courante.

Vérification :
 OUI / NON
 indique au superviseur, si l ’utilitaire de vérification des liens doit vérifier les
liens en cas ou pas. Ex : dans le cas, où le lien est sans importance.
 Développement / Utilitaires / Vérifications / Vérif Cohérence

Obligatoire :
 OUI / NON

 Servira dans la gestion des écrans.

Page 14 sur 51
Raz :
 Utilisé par l’utilitaire de remise à zéro du dossier.

 Dans ce cas, la table n’est pas globalement effacée. Ce sont les champs précisés qui

sont effacés. (exemple : champ de cumul)


 Attention ! Il n’y a pas de contrôle d’intégrité de la base de données.

Mot clé d’aide :


 Permet le lien avec l’aide HTML sur champ

 Servira dans la gestion des écrans.

Page 15 sur 51
Champs particuliers : EXPNUM, CREUSR, CREDAT, CRETIM, UPDUSR,
UPDDAT, UPDTIM

Champs à définir dans une table. L’alimentation se fait par le superviseur.


Il se base sur le nom des champs.

Expliquer la signification des champs.

Le champ EXPNUM est déclaré dans les tables dont on veut exporter les données.
On aura alors la possibilité d’exporter les enregistrements nouveaux ou modifiés
depuis le dernier export.
(Exploitation / Imports-exports / Exports)

Champs particuliers : ENAFLG

Permet de définir si l’enregistrement est actif ou pas.

Prendre l’exemple des modèles d’import / export.


(Paramétrage / Exploitation / modèle d’import-export)

Rendre inactif un modèle.

Puis vérifier au lancement de l’import, que ce modèle n’est pas sélectionnable.

Le superviseur gère la fenêtre de sélection et le contrôle. Il se base sur le nom du


champ.

Historique : champ NUMLIG ou NOLIG


Dans la version caractère, pour les blocs tableaux, il était nécessaire de créer un
champ numérique (type=C) et affiché pour affiché le n° de ligne à l’écran.
Maintenant, il n’est plus nécessaire de créer ce champs, « le superviseur se débrouille
tout seul ».
Attention, pour que les anciennes descriptions d’écran fonctionne toujours, si la
première zone d’un bloc tableau est entier cout et affichée, le superviseur considère
que c’est l’ancienne zone numéro de ligne et est mise en invisible par le traitement de
validation d’écran. Si on ne veut pas que cet automatisme soit déclenché il faut
changer le type de cette zone en entier long. (ex : BOC1 & BOC2)

Page 16 sur 51
Dictionnaire : index
Composition d’un index :
Concaténation de champ
Chaque champ peut être défini en tri ascendant ou descendant par le signe + et -
Le tri descendant était mal géré par la base oracle jusqu’à leur version 8.
Donc, ce n’est qu’à partir de la version 143, que le moteur génère une requête avec le
mot clé Desc quand il trouve le signe – devant une partie de clé. ( avant c’était
toujours Asc ).

pas de champ dont l’indice est > 1

Code activité :
Permet de définir une clé spécifique.
Attention ! Ne pas désactiver une clé standard

Pour le spécifique, utiliser un code commençant par X, Y ou Z

BOUTON

Copie :
Copie de la structure de la table. Il faudra valider la table dans ce nouveau dossier
pour la créer dans la base de données.

Traitement :
utilisé pour initialiser des champs quand la table a déjà été créée et des
enregistrements aussi.

Validation :
Validation simple ou validation forcée.
Forcée : c’est une revalidation complète des données et des index.
Simple : si la structure de la table n’a pas changé, seul les indexes seront recréés.

Page 17 sur 51
Les écrans

Dictionnaire : informations générales


Prendre l’exemple de l’écran BPR1
Evoquer brièvement les actions champ.
Evoquer les boutons de bas d’écran standard.

Abréviation de l’écran :
 sur 4 caractères maximum.

 Elle est utilisée en programmation pour nommer le champ d’un écran.

Ex : [M :BPR1]BPRNAM c’est champ « raison sociale » de l’écran BPR1.

Code activité :
 Re-préciser l’utilité du code activité spécifique.

Module :
 Permet la création de l’écran si le module est installé.

Taille :
Type écran, nombre de lignes, et le nombre de colonnes.
Titre des onglets : 1 ligne
Contour de bloc : ½ ligne par trait

Entête et onglet : objet et consultation & éventuellement saisie fenêtre.


Boite de dialogue : saisie fenêtre (centré).
Plein écran : objet tableau & éventuellement saisie fenêtre.
Plein écran + liste : objet avec 1 seul écran & éventuellement saisie fenêtre.

Ecran modèle :
Modèle utilisé pour la création d’un écran.
non validables. Non exécutable ni en interactif, ni par l’import.
On ne peut pas utiliser la classe [M] d’un écran modèle dans un traitement.

Traitement standard, spécifique :


 Traitement standard et spécifique sont équivalents.

l’un est réservé pour le standard, l’autre pour le spécifique.


Permet de ne pas écraser le spécifique lors de l’installation d’une nouvelle version
ou d’un patch.

Traitement Automatique :
 Wn+nom écran (n est un nombre de valeur 1,2 ou 3)
 W0+nom écran pour l’import

Page 18 sur 51
Titre du bloc :
 Facultatif

Type de bloc :
 Liste / tableau / Texte / Invisible

 Présenter Liste et Tableau

 Texte : n’affiche que les textes background. (pas utilisé)


 Invisible : pour les bloc liste, permet de rendre invisible tous les champs.

Il n’y a pas à définir de coordonnées pour ce bloc.

Remarque : Pour les bloc tableau, on met la variable de bas de tableau en mode
invisible.

Rang :
 C’est l’identifiant du bloc.

Option :
+ justification des colonnes. Ajustement de la largeur des colonnes en fonction du
titre colonne et des valeurs contenues. Peut toutefois, se faire manuellement par
ctrl+

Bloc tableau :
 Utilisé si un browser est intégré à l’onglet ( exemple BPABPR ).

 On renseigne le numéro de bloc utilisé comme browser.

Table de référence :
 Identification d’une table, qui servira dans l’onglet suivant, à créer les champs par

récupération automatique de leur description dans cette table.


 Dans l’onglet champ : sélection table si plusieurs tables déclarées

 Dans l’onglet champ : sélection des champs non encore déclarés dans l’écran

 S’effectue sur la zone « champ » , en mode commande, par le menu contextuel.

Page 19 sur 51
Dictionnaire : champs

Champ :
 Commence par X_,Y_, ou Z_ pour le spécifique.

 Le nom du champ doit avoir le même nom que la zone de la table afin de bénéficier

des automatismes du superviseur.


 Expliquer le « transclasse » :

Affichage de l’enregistrement à l’écran [M] = [F]


Saisie
Mise à jour de la table [F] = [M]

Bloc :
 Attribution d’un champ à l’un des blocs définis dans le 1 onglet
er

Zone :
 Indique la ligne dans le bloc et, l’ordre sur cette ligne par la syntaxe : ligne.n°

Intitulé :
 Texte descriptif du champ

 Proposé par l’intitulé long, court, abrégé du champ dans la table

 Possibilité d’intitulé évalué (évalué à l’exécution de l’écran )

Ex : SOH4
DISCRGVAL1 intitulé : GCOLREM(0) (var. globale)
DISCRGVAL2 intitulé : GCOLREM(1)
CCE1 intitulé : mess(1,601,1) (menu local)
CCE2 intitulé : mess(2,601,1) (menu local)

Ex : BPC1 (menu local sur champ dimensionné )


Attention ! évalué à la validation de l’écran.
TSCCOD intitulé : #mess(indice+1,601,1)

 Positionné à gauche du champ dans les blocs de type liste. facultatif


 Entête de colonne dans les blocs de type tableau

Col
Pour le placement des champs dans un bloc, il faut de nouveau imaginer une grille
fictive.
Le texte background et le champ de saisie associé comptent chacun pour une colonne.
On indique le nombre de colonnes occupées par le champ.
Les champs de type de donnée W sont à exprimer en nombre de colonnes et non plus
en nombre de caractères.
Le dernier champ d'une ligne prend le nombre de colonnes nécessaire pour aligner la
ligne en fonction de celle qui est la plus longue.

Page 20 sur 51
Un champ sans intitulé se place dans la colonne du champ précédent.

Saisie :
 Saisi / Affiché / Invisible

 Invisible sur la variable de bas de tableau rendra le tableau invisible.

 Modifiable par transaction dans par exemple la saisie devis, commande, livraison,

facture de vente.
(Paramétrage / Vente / Transaction de saisie / Devis)

Mode :
 Saisissable sur bloc de type tableau

 Fiche+Tableau (valeur par défaut) / Fiche / Tableau

 Modifiable par transaction dans par exemple la saisie devis, commande, livraison,

facture de vente.

Dimensionnement :
 Occurrence d’un champ dans un bloc liste

 Nombre de ligne dans un bloc tableau

Obligatoire :
 Saisie obligatoire du champ : OUI / NON

 Le superviseur effectuera ce contrôle de façon automatique

 Si Saisie obligatoire & option de saisie : date nulle autorisée, le champ est

obligatoire.
 Si saisie facultative & table de contrôle avec valeur obligatoire ou contrôle sur table,

le champ devient obligatoire.

Option :
 Possibilité de définir un format de saisie soit par option, soit par saisie d’un format.

 C couleur : attention au pb de performance sur gros tableau

 C couleur prioritaire sur le style

Aide :
 L’aide n’est pas personnalisable par X3.

Valeur par défaut :


 Expression Adonix qui permet d’attribuer un valeur par défaut

Code accès :
 Permet à l’utilisateur de définir par profil fonction, si le champ est modifiable ou

seulement en consultation.
(Paramétrage / Utilisateur / Code accès) définition du code accès

Page 21 sur 51
(Paramétrage / Utilisateur / Utilisateur) affectation du code à l’utilisateur

Condition de saisie :
 Expression Adonix qui permet, pour un champ saisissable, d’interdire la saisie en

fonction d’un contexte.

Objet graphique :

Pour les menus locaux


 Case à cocher / bouton VC / VS / HC /HS

 La case à cocher autorisée sur le menu local n°1.

 Si aucun objet graphique, il y aura une combo box

Pour les textes


 Multi lignes
Clob ( texte riche ou brut)
Champ alpha dans la table de donnée ( texte brut seulement )
 RTF relatif ( format KR )
Sur champ Alpha
fichier *.rtf et *.txt enregistré dans le sous-répertoire TXT de l'application
courante sur le serveur. La variable de la classe écran contient le nom du fichier
texte. Ce nom est relatif sans extension.
 RTF absolu ( format KH )
Sur champ Alpha
fichier *.rtf et *.txt enregistré dans l'un des sous-répertoires de l'application
courante sur le serveur. La variable de la classe écran contient le nom absolu : elle
contient l'indication du répertoire, du nom du fichier. ( ex : APT1 )

Pour les icônes


Sur champ alpha de 3 caractères. Le champ contient l’identifiant de l’icône.

Pour les numériques


 Barre progression nécessite d’utiliser les sous-programmes du superviseur C
(exemple dans écran VALPCENT) :
 Call OUVRE_BOITE(texte, nombre) From GESECRAN
Ouverture de la boite à lancer 1 seule fois
Texte : value char, texte affiché
Nombre : value decimal, nombre maxi à atteindre

 Call SET_BOITE(texte, nombre) From GESECRAN


Nouvelle définition d’une barre de progression, à lancer pour chaque barre
Texte : value char, texte affiché
Nombre : value decimal, nb maxi à atteindre pour chaque barre de progression

 Call AFF_BOITE(texte, nombre, ok) From GESECRAN

Page 22 sur 51
Ré-actualiser l’affichage, à lancer pour chaque ré-affichage de la barre
Texte : value char, texte affiché ( si inchangé le laisser vide )
Nombre : value decimal, nb
Ok : statut de retour, non utilisé dans cette version

 Call FERME_BOITE From GESECRAN


Fermeture de la boite à lancer 1 seule fois

bloc tableau
objets graphiques disponibles : case à cocher, icône.
 par contre, ils font sortir du mode saisie.

Table de contrôle :
 Permet à l’utilisateur de définir, des contrôles automatiques

(Paramétrage / Paramètres généraux / Tables de contrôles)

Tableau des actions :


 Action (possibilité d’insérer du traitement) autour d’un champ

 Evoquer les types d’action

 Action spécifique SPE, SPX ou action dico nommée Xxxx, Yxxx ou Zxxx.

 Ajout d’un code activité spécifique sur le champ pour une action dictionnaire

spécifique.

Tableau des paramètres action :


 Paramètres pour les actions dictionnaire

 Un seul tableau pour toutes les actions du champ

Page 23 sur 51
Les Objets

3 types de gestion
gère les enregistrements :
 d’une table principale

 d’un groupe de table

(écrire d’actions pour la mise à jour des tables supplémentaires à la table


principale)

Gestion simple :
Prendre l’exemple des tiers
(Données de base / Tiers / Tiers)

Gestion tableaux :
Prendre l’exemple des langues
(Données de base / Tables communes / Langues)

Gestion combinée :
Prendre l’exemple des conditions de paiement
(Données de base / Tables tiers / Conditions paiement)

Objet browser :
Ne sert que pour l’ajout de borwser sur les objets en gestion simple ou combiné.

Dictionnaire : informations générales


Prendre l’exemple de l’objet BPR

Table liée :
 Table gérée par le superviseur.

Intitulé paramètre :
 Texte décrivant le premier élément de clé s’il y a en 2.

 Utilisé par le superviseur par exemple dans la suppression d’enregistrement.

 Ex : table diverse

Zone site et code accès :


Permet d’indiquer au superviseur s’il y a un champ dans la table principale contenant le
site et un code d’accès.
Sert à gérer les habilitations par enregistrement ( automatiquement par le
superviseur ) .

Page 24 sur 51
Statistiques :
Permet d’activer le bouton « statistiques » dans le menu fichier de l’objet.
Ce bouton permet de proposer les stat. Paramétrées sur la table principale de l’objet.

Suppression différée :
 autorise ou pas les suppressions différées sur cet objet.
 Si l ’utilisateur est configuré « confirmation suppression = oui », il aura la
possibilité de lancer une suppression d’un élément de l ’objet en différé.
 Le superviseur enregistre la demande de suppression. ( stockage de la clé à
supprimer dans la table ADELETE)
 Il faudra ensuite lancer la procédure de suppression physique : ( elle reprend
les contrôles de l’objet
Développement/Utilitaires/Divers/Suppression
 A ne pas utiliser, si le bouton « supprimer » est désactivé en fonction d’un
contexte. Par exemple, une commande livrée ne peut pas être supprimée car
bouton supprimé inactif. ( en suppression différée, le superviseur ne fait pas
les contrôles qui autorisent le bouton suppression)

Imports :
Autorise ou pas les imports sur l’objet.

Dictionnaire : sélections

Liste gauche principale de l’objet :


 liste simple ou hiérarchisée
 on doit définir les champs de clé primaire au minimum
 pour une liste hiérarchisée, le nombre de niveaux est défini par le nombre
d’éléments dans la clé choisie. Si plusieurs champs déclaré, le superviseur
prend un champ par niveau, puis pour le dernier niveau , il concatène tous les
champs décrits restants. Il est possible aussi de prévoir une expression par
niveau, ou mixte champ et expression pour une liste hiérarchique.
 Pour une liste simple, on peut déclarer d’autres champs que ceux de la clé
primaire. Pas de contraintes pour l’ordre de définition de l’ensemble des
champs.
 Possibilité d’utiliser les index spécifique créés par la fonction suivante :
( Paramétrage / Exploitation / Optimisation base de données)

Remarque :
 Les boutons magnéto seront toujours sur la clé primaire de l’objet

Page 25 sur 51
Fenêtres

Principes
Ouverture de la fenêtre par l’un des traitements superviseur.
Les caractéristiques de la fenêtres sont à définir dans le dico et ne sont pas modifiable
au cours de l’exécution du traitement ( bouton, menu, onglets, browser )

Browser :
 Remplissage et vidage à faire obligatoirement pour les browsers autres que le
browser principal et dernier lu.

 Ajout / Suppression d’un browser impossible en fonction d’un contexte.


 Ajout / Suppression d’une colonne dans un browser impossible.
 Griser un browser impossible. ( dans ce cas, la solution est de le vider.
Utilisation de l’action FILGAUCHE )

Onglet : écrans
Type de fenêtre : objet, consultation, critère de consultation, autre

Affichage : « Plein écran » génère un Inpbox dans le traitement généré


en validation de fenêtre.
Fenêtre pleine page
« Boite de dialogue » génère un Dlgbox
Fenêtre indépendante pas forcément pleine page
« Boite de message » génère un Mesbox
Fenêtre indépendante pas forcément pleine page , sans
tunnel, sans liste gauche, sans barre de menu.

Onglet : boutons

Pour la gestion objet et consultation,


Boutons : sont actifs par défaut
Menus : sont actifs par défaut
Lignes : sont inactifs par défaut

Pour la saisie fenêtre,


Boutons, Menus, Lignes : sont actifs par défaut

Page 26 sur 51
Si code activité inactif, le superviseur GOBJET et GSAISIE le prennent en charge
(rien à écrire sur les traitements)

Menus locaux / Messages

Menus locaux
 123 éléments maximum
 tranche 1000 à 1999 pour le spécifique

Messages
 999 éléments maximum
 tranche 160 à 169 pour le spécifique

Page 27 sur 51
Tables diverses
Longueur des codes tables diverses

Gestion de dossier
Le paramètre « Longueur tables diverses » est ajouté sur le premier onglet de la gestion
dossier; ce paramètre alimente la variable globale GMAXADI. Ce paramètre n’est pas
modifiable en dehors de la validation dossier. valeur par défaut = 3.

Les types de données ADI et ADJ sont générés dans le dossier avec une longueur égale à ce
paramètre. ( ADJ est nouvellement créé afin de rendre paramétrable la longueur du code table diverse
sur la table ATABDIV elle-même ).
En conséquence, à la validation du dossier, dans le dictionnaire des tables, tous les champs
"code table diverse" ayant le type ADI ou ADJ auront la longueur qui a été paramétrée au
niveau du dossier.

Paramétrage des tables diverses


Flag "longueur modifiable".
Positionné à OUI, il rend personnalisable le champ suivant "longueur". Ce champ "longueur"
sera non seulement modifiable par la fonction de paramétrage mais aussi dans la fonction de
personnalisation Paramètre/ Paramètres Généraux / Perso Tables Diverses. Valeur par
défaut = NON.

Champ "Longueur"
permet d'affecter une longueur pour le code table diverse qui peut être différent d'une table
diverse à une autre. Cette longueur ne peut être qu'inférieure ou égale à celle définie au
niveau du dossier ( GMAXADI ). Valeur par défaut = 3.

En conséquence, à la validation des écrans, les champs " code table diverse" ayant le type
ADI auront cette longueur lorsque le no de table diverse est connu sur l'écran (c'est à dire si
c'est une constante dans l'écran), sinon ils auront la longueur définie au niveau du dossier.
Le bouton VALIDATION permet de revalider tous les écrans ayant un champ de type ADI sur
la table diverse courante.

Page 28 sur 51
Code activité

Présentation & description


 Identifier un spécifique
 Voir toutes les autres utilités du code activité

 Le standard prévoir des codes activités pour donner la possibilité de :

 Rendre inactif un élément (table, écran, objet, …)


Ex : MUL (écran BPEXCEPT dans les tiers)
 Dimensionner un champ sur écran.
Ex : ANA (écran SOH3 entête commande)
Dimensionnement d’un bloc tableau
Un seul champ déclaré
Ex : AX1…AX9 (écran SOH4 détail commande)
Champ actif ou inactif
9 champs déclarés
 Dimensionner un tableau
Ex : SOH (écran SOH4 des commandes )
 Rendre inactive une localisation
Ex : KFA ( table BPARTNER champ NAF)

 C’est en validation de dossier que l’utilisateur paramètre ces codes activités


(Paramétrage / Paramètres généraux / Dossiers)
 Outil de recherche d’un code activité

(Développement / Utilitaires / Recherches / Code activité)


 Aide fiche par code activité

Page 29 sur 51
Exercice 1 : objet article

Introduction :
 Création du menu MCOU par la gestion des fonctions

 puis validation des menus


 puis sortir de l’application

Correction :
 Gestion tableau

 Suppression par bouton bas d’écran pour bénéficier automatisme du superviseur

parce qu’on est en gestion tableau.


 Montrer les possibilités liées au type de donnée UOM

 Les champs spéciaux CREDAT … ne sont pas préfixés par « Y »

 Case à cocher pour le champ ENAFLG

 Champs complémentaires en mode fiche

 Explication des traitements SPEYIX, WWINIYIX

Page 30 sur 51
Action champ

Les traitements
Présenter les 2 types d’action : champ & objet

Action champ
Appelée si définie sur le champ dans le dico des écrans.

le sous-programme :
 paramètre valeur est déclaré en « variable », donc sa valeur est modifiable.
 Type « char » dépend du type du champ défini dans l’écran.

Les actions :
 bouton : pour l’exécution du traitement
 init_bouton : pour stocker le texte du bouton
autre solution pour attribuer un texte au bouton :
 dans l’action
 dans l’intitulé de l’action dans le dico des écrans
 Sélection : bouton désactivable et texte du bouton paramétrable depuis la 140.

 Contrôle bloquant mkstat=2 ( le superviseur alimente GERR=1)


Informatif GERR=2
Choix GERR=3
Info en bas d’écran GERR=4

On reste bloqué en saisie sur le champ si mkstat=2, ou si GERR=3 et choix du bouton


« annuler ».

 Avant_saisie Gmenloc(n)=1 désactive l’élément n du menu local précisé sur le


Champ.
Il n’est pas nécessaire de le ré-activer ensuite.
Il n’est pas nécessaire de contrôler la validité de ce champ.

Rendre un champ affiché


 par le dico des écrans
 par as_zone avec mkstat = 2
 par ap_zone d’un autre champ avec grizo ou diszo

Page 31 sur 51
Conseil Actions

AV_zone : alimenter vos champs en action RAZCRE et RAZDUP

D_zone : alimenter vos champs en action RAZCRE et RAZDUP

AS_zone : conditionner vos champs en action RAZCRE et RAZDUP et LIENS


par actzo, diszo et grizo.
Texte bouton en action champ IB_zone.

Alimentation d’un champ B en après_modif d’un champ A.


Que se passe-t-il si on crée ou enregistre directement ?

Si le champ B est placé sur un bloc liste, après le champ A :


Les actions AV, AS, C, AP sont exécutées.

Si le champ B est placé sur un bloc liste, avant le champ A :


Aucune action n’est exécutée.

Si le champ B est placé sur un bloc tableau, après le champ A et sur la même ligne :
Les actions AV, AS, C, AP sont exécutées.

Si le champ B est placé sur un bloc tableau, dans tout autre cas :
Aucune action n’est exécutée.

Action sur champ clé (objet simple)


présenter le traitement SUBBPR.

Action sur champ clé (objet tableau)


présenter le traitement SPEYIX.

Page 32 sur 51
Type de données

Autres types de base


AC0 clob sans longueur
AB0 blob sans longueur

On attache à 1 type de données des caractéristiques communes.


Celles non renseignées seront à saisir sur le champ dans le dico des tables et écrans.
 Identifier un type interne

 Type interne Flottant, et double

Correspondent à des données numériques


Non utilisé en standard
Attention pour le spécifique, car dépendent des machines et ne sont pas portables
Peuvent cependant être utilisé en spécifique, car calcul plus rapide sur ces champs
 Voir toutes les autres utilités du type de données

Attention !
le format est prioritaire par rapport aux options de saisie placées sur le type de
donnée ou sur un champ ( celles-ci indiquent au superviseur de se constituer un
format ).

NB : c’est un format de saisie uniquement


Exemple 10X[-]5X : le caractère – n’est pas stocké.

Page 33 sur 51
Exercice 2 : objet client

Introduction :
 La table client est créée

 Il faut juste y apporter quelques modifications précisées par : particul = OUI

Correction :
 Alimentation de champs : action AP_ sur le champ déclencheur
 Conditionner la saisie d’1 champ : action AS_ sur le champ courant
 Afficher un intitulé évalué

 Expliquer le traitement SPExxx puis W1xxxx

Pièges à éviter :
 Adresse dimensionnée

 Type de donnée ADI sur le secteur géographique

 Expression de lien sur le secteur géographique

 Longueur du background (20,15,12)

 Background peut être absent

Page 34 sur 51
Fonctions

Exemples
 GESBPR (ex : lien avec un traitement)
 MDBPR (ex : lien avec un menu)

Menu / Traitement
 menu ou exceptionnellement traitement lorsque l’action n’est pas saisie

Options
 C, M, S réservé pour la gestion objet.
 On peut définir jusqu’à 11 options maximum.
 A l’exécution d’une fonction, le superviseur alimente la variable globale
GUSRAUZ(n) par les codes options autorisés par le profil fonction. n est l’indice
indiquant l’éclatement des habilitations par site.

Variables
Il est possible de définir qu’une des variables du tableau soit une variable saisie au
moment où le menu de l’utilisateur est saisi. Pour ce faire, on place le caractère # en
regard du nom de la variable. Le champ aide est alors affiché pour aider l’utilisateur
dans sa saisie.

Page 35 sur 51
Page 36 sur 51
Actions

Objet
On a plusieurs actions de type objet dans le dictionnaire, pour les raisons suivantes :
 Plusieurs tunnel à partir d’un même champ
 Tunnel avec ou sans zone courante
 Clé alpha ou numérique
 Action avant et après bouton

Normalisation
Le nom des actions doit respecter la norme suivante :
 Objet : GOBJET*
 Consultation : CONS*
 Traitement standard : TRT*
 Saisie fenêtre : SAI*
VISU*
 Sélection en table et en liste : SEL*
 Affichage & traitement divers : ALI* (alimentation)
CTL* (contrôle)
IMP* (impression)
TRI* (tri)
DIV* (divers)

Page 37 sur 51
Page 38 sur 51
Action Objet

Cinématique de l’objet (lock)


La saisie
Lock logique création d’un enregistrement dans la table APLLCK
Dont clé = code objet + clé enregistrement objet

Positionné dès qu’on se positionne sur l’enregistrement.


Un 2ème opérateur visualise mais ne peut pas modifier
l’enregistrement.

La transaction de mise à jour


Lock physique

Transaction de mise à jour


 Regroupement d’un ensemble de mises à jour sur les tables.
 Début et fin d’une transaction
Début transaction par l’instruction Trbegin
Fin transaction par Commit
Interruption de la transaction par rollback ( en cas d’erreur)
En cas de verrouillage, le superviseur annule sa transaction par
Rollback, puis la recommence.
 Durant la transaction, la mise à jour n’est disponible que pour la session .
 Obligatoire pour toute maj d’enregistrement
 Pas de transaction en cascade
 Pas de message qui demande l’intervention de l’utilisateur
 Tester le verrouillage avant un update car celui-ci ne rend pas la main.

Paramétrage de l’objet
Avant tout développement, vérifier qu’un paramétrage ne suffit pas :
 Personnalisation objet
 Propriété objet
 Habilitations fonctionnelles
 Paramètres généraux
o LFTBOX : nb d’éléments liste gauche
o NBRCHOOSE : nb d’éléments pour fenêtre de sélection
o NBDERLUS : nb d’éléments liste derniers lus
o CHDERLU : chargement du dernier lu
o CONFSUP : confirmation suppression
o CONFDUP : confirmation duplication
o CONFABD : confirmation abandon

Page 39 sur 51
o SELGLO : autorisation de créer des mémos globaux
o AUZMEMO : Autorisation de créer des mémos identifier non
performant
o SELWARN : Nb enregistrements sélectionnés au-delà duquel le
mémo sera considéré non performant

Le lien se fait par :

Action objet
Appelée systématiquement.

Le lien se fait par :


 instruction Gosub entre les traitements superviseur le SUBxxx, SPExxx

Gestion des boutons

 SETBOUT : avant affichage de la boîte de dialogue


Et dès l’identification de création ou modification
CHAINE contient l’ensemble des codes de bouton
VIREBOUT sous-pro du GOBJET pour désactiver un bouton

 AVANTBOUT : avant l’exécution du bouton


Permet le contrôle des habilitations
Permet d’initialiser des variables

 EXEBOUT : après l’exécution de l’action dico


s’il n’y a pas d’action dico, on écrit ici le traitement d’exécution du
bouton

Gestion entête – détail


Pré-requis table :
 Table détail doit avoir son index principal constitué :
par clé de la table principale + champ numérique
Pré-requis écran :
 Nom de champ figé pour ( NBLIG, CREFLG, UPDFLG)

 Champ numéro de ligne ( L 8 invisible )

visu d’un document : CREFLG contient le numéro de ligne 1 à n


UPDFLG = 0
En modif ligne UPDFLG = 1

Page 40 sur 51
En creation et suppression : CREFLG = 0
 Ecrire obligatoirement l’appel au traitement superviseur

(ex. Gosub CREATION From TABLEAU )


 Ecrire obligatoirement l’action DEFLIG.

 Ecrire si besoin les actions INICRE_LIG, ….

Action VALLIG
TRTLIG et SIGN : 2 variables alimentées par le superviseur
GOK : à renseigner par le développeur.

Prendre l’exemple du traitement SPEYOX.


Ce traitement contient ce qu’il y aura toujours à faire pour une gestion entête détail.

Action objet : RAZCRE & RAZDUP


Le point à retenir, c'est que si on initialise un champ dans le RAZCRE et qu'on ne modifie ce
champ, l'après-modif du champ n'est pas exécutée alors qu'elle l'est si on initialise le champ dans l'init.

C'est pour cela que lorsqu'on initialise un champ dans le RAZCRE, on écrit également dans cette
action l'équivalent de l'après-modif.

Action évènementielle : Après_modif


Cette action ne s’exécute pas en mode import.
Prendre l’exemple du traitement SUBBPT.

Page 41 sur 51
Exercice 3 : gestion des commandes

Correction :
 Expliquer le traitement SPExxx

 Champs techniques pour la gestion entête – détail

 Filtre sur les clients non prospects (option dans l’objet client)

 Filtre sur articles actif (ENAFLG dans table article)


 Alimentation article, client ,TTC (action AM_ sur champ déclencheur)
(buffer en ligne / champ avec type de donnée)
(ouverture table si utilisation de la classe [F])
 Tunnel, sélection, contrôle (type de donnée article et client)
 Site non saisissable en modif. (soit condition de saisie sur le champ

soit l’action AS_ )


 Totalisation de ligne détail (actions sur la variable de bas de tableaux
avant_ligne pour -, et après_ligne pour + )
 Mise à jour table supplémentaire (on bénéficie de la transaction de l’objet sur la
table principale )
action CREATION pour +
action AVANT_MODFIC pour -
action MODIF pour +
action ANNULE pour –
position du GOK si erreur

Page 42 sur 51
Modèle GSAISIE

Ordre des boutons


Au bas de la fenêtre sont présents :
 les boutons pré-définis
 les boutons fonctionnels dans l’ordre déclaré dans la fenêtre
 le bouton FIN

Modèle Traitement standard

Boite de dialogue
S’appuie sur une fenêtre.
Boutons banalisés : OK, FIN
Pas de modèle GSAISIE
Pas d’ajout de bouton ou menu

Saisie fenêtre
S’appuie sur le modèle GSAISIE

Page 43 sur 51
Consultations

Principes :fenêtre principale

Le but :
 sélection d’un ensemble d’enregistrements d’une table

 Pour les afficher dans un tableau

Démonstration :
 Présenter les possibilités en prenant l’exemple de la consultation de compte

(Comptabilité / Consultations / Comptes)


 Montrer les derniers lus dans l’objet des comptes

(Données de base / Tables comptables / Générales / Comptes généraux)

Principes :fenêtre de critères


Le but :
 saisie de critères de sélection s’ils sont nombreux

 Paramétrage de critères d’affichage

 Gestion d’un mémo ( stockage des critères de sélection d’un mémo appelable)

 Personnalisation de l’onglet tableau de la fenêtre principale

Démonstration :
 Présenter les possibilités en activant le bouton « critères » de la consultation des

comptes.
 Modifier un critère d’affichage

 Modifier un critère de sélection

 Création de 2 mémo. Rappel du mémo.

 Création du mémo STD. Pas de rappel mémo à faire. Considéré alors comme critères

par défaut.
 Bouton particulier à la fenêtre de critères « en-tête ».

Page 44 sur 51
Dictionnaire des fenêtres
Démonstration :
 Montrer les écrans de la consultation de compte

 Montrer les fenêtres ‘’ ‘’ FCNSCPT, DCNSCPT

Onglet boutons :
 Possibilité de définir des boutons ou menus particulier pour la fenêtre principale

 Possibilité de définir des boutons particulier pour la fenêtre critères

Dictionnaire des consultations


Démonstration :
 Montrer la consultation de compte CPT

Onglet Ecrans :
 CNSxxxSTD équivalent du SUBxxx dans la gestion objet
 CNSxxxSPE équivalent du SPExxx dans la gestion objet

Ecrans de consultation
Possibilité d’affectation des écrans paramétrables

1- Il n’y a pas de sélection d ’écran paramétrable :


Il n’y a pas de fenêtre de critères
ou il n’y a pas de champ code écran dans la fenêtre de critères
ou il n ’y a pas d’écran paramétré

2- sélection d ’écran paramétrable :


Il y a une fenêtre de critères
et il y a un champ code écran dans la fenêtre de critères
et on a créé au moins un écran paramétré

3- écran paramétré proposé par défaut :


pour tout utilisateur : code écran paramétrable saisi dans la consultation
par utilisateur : code écran paramétrable de la fenêtre de critères
enregistré dans le mémo STD

4- écran paramétré imposé et non modifiable :


pour tout utilisateur : code écran paramétrable saisi dans la fonction
par profil menu : code écran paramétrable saisi dans le profil menu
si GFLAG = # dans la fonction

Page 45 sur 51
Dictionnaire des actions ( particularité pour consultation)
Démonstration :
 Montrer l’action CONSCPT

Développement
Présentation :
On a toujours (à l’identique de l’objet) :
 1 – les actions champ (strictement identique à ce qu’on a déjà vu)

 2 – les actions objet ( action particulière à la consultation)

On a aussi (à l’identique de l’objet) :


 l’ action objet SPE s’exécute avant l’action STD

 l’action objet STD peut être court-circuitée ( avec GPE = 1 )

Contrairement à l’objet, certaines actions objet sont à écrire impérativement :


Voir diapo des traitements à écrire.

Démonstration :
 Montrer le traitement de consultation de compte CNSCPTSTD

Page 46 sur 51
Etats

Présentation
 Montrer l’état ARCCLIENT
 Evoquer le dictionnaire des états (liens avec Crystal par le champ CRYSTAL)

 Les paramètres (liens avec Crystal par le nom)

 Lancer l’impression du menu

 Evoquer l’objet avec les codes IMPRESSION ou LISTE


 Evoquer les valeurs par défaut / fonction

 Lancer l’impression depuis l’objet des commandes

 Evoquer la table des liens (choix de plusieurs états)


 Prendre l’exemple du BONLIV

 Lancer l’impression depuis l’objet des livraisons

 Aide fiche par état

Dico des états


fonction
 Si autorisation / site, on autorise l’état lorsqu’un site (au moins) est défini dans les

habilitations fonctionnelles. Attention, pas de vérification site par site.


 Sinon, on autorise l’état si on a accès à la fonction par les habilitations
fonctionnelles.
Exemple : traitement ARCCLIENT (expliquer ce traitement

Traitement d’initialisation
 A n’utiliser que si nécessaire (ex : mise à jour d’une table)
 La mise à jour s’effectue avant le lancement de l’édition.

 Exemple : traitement ARCCLIENT (expliquer ce traitement)

 Evoquer la table maîtresse de l’état : AREPORTM

Impression écran
 1 sous-pro pour stocker dans un fichier les impressions écran
 1 sous-pro pour l’édition de toutes les impression écran en sortie de la fonction.

 Tout est automatique dans les consultations

 Exemple : gestion des saisonnalités

(Données de base / Tables articles / Saisonnalités)


 Exemple : consultation des comptes

(Comptabilité / Consultations / Comptes)

Page 47 sur 51
Imports

Lancement
Fichier : chemin du fichier où se trouvent les données à importer
Si le nom du fichier est constitué d ’une racine suivi du caractère #,
l’import traitera tous les fichiers de même racine suivi de 4 chiffres .
Ces fichiers sont traités dans l’ordre croissant de ces 4 chiffres.

Bouton test :
permet la visualisation des enregistrements à importer
pas de mise à jour de la base de données.

Traitement :
Permet la visualisation du traitement généré imp+no chrono

Action IMP_ZONE :
Lorsque le champ existe sous le même nom dans la table, le superviseur gère tout seul
la variable IMPMOD. Si le champ a une nouvelle valeur, alors IMPMOD = 1 et OK=1.

Lorsque le champ n’existe pas sous le même nom dans la table, on alimente
manuellement le champ par l’action IMP_ZONE et on positionne :
 IMPMOD = 1 pour déclencher l’action AM_ sur ce champ,
 OK = 0 pour ne pas que le superviseur tente un transfert de classe.

Restrictions
On ne sait pas importer/exporter des champs blobs/clobs ou textes avec des caractères spéciaux
(chr$(255,13,10,0)).

Page 48 sur 51
Spécifique

Point d’entrée
 Prendre l’exemple du traitement FUNPAD
 Aide en ligne : Sommaire puis Les Fiches, et Points d’entrée

Cas d’emploi :
 Nécessaire sur un traitement qui n’utilise pas la gestion objet (qui est développé

entièrement)
 Nécessaire dans une gestion qui s’appuie sur l’objet, pour un traitement déclenché

par bouton ou menu.

Ressemblance avec les actions :


 Dans le traitement standard : gosub ACTION

la variable ACTION contient le nom du point d’entré


 Dans le traitement spécifique : $ACTION

Case ACTION …

Différence avec les actions :


 On ne connaît pas le nom du traitement spécifique

 D’où la nécessité d’une table de correspondance qui fait le lien entre le traitement

standard et le traitement spécifique.

Demande de point d’entrée :


A qui faire la demande ?
A l’ hot-line, qui vous retourne un no d’incident.

Que doit contenir la demande ?


L’expression du besoin fonctionnel
(permet au développeur de proposer une solution meilleur
ou de brancher le point d’entrée de la façon la + adaptée.
L’expression du besoin technique
(argument et contexte qu’il vous semble nécessaire d’avoir

Quel est le processus de réponse ?


Lorsque l’expression des besoins est clairement exprimée, il y a une étude de
faisabilité. (délai moyen 10 jours )

Une fois la faisabilité établie, la livraison du point d’entrée se fera sous forme de
patch incluant les traitements et la documentation au format HTML.
(délai moyen 10 jours )

Page 49 sur 51
Point d’entrée d’un distributeur pour ces clients
Dans un point d’entrée créé par le standard, le distributeur peut s’écrire une
séquence de traitement dans lequel il pourra insérer un point d’entrée nommée
Xxxxxx, Yxxxxxx ou Zxxxxxx.

Page 50 sur 51
Exercices

Les exercices suivants sont en réserve :

5- Consultation des commandes


6- Boutons de navigation
8- Document accusé de réception commande
9- Import / export de commande

Page 51 sur 51

Vous aimerez peut-être aussi