Cette fonction permet de capitaliser l'ensemble des états Crystal Report utilisables depuis l'un des produits de la gamme X3. Dans ce dictionnaire des états, vous renseignez :

  • les caractéristiques générales,
  • les caractéristiques de la sortie,
  • les traitements éventuellement associés,
  • les droits d'accès,
  • les paramètres de lancement,
  • les sources de données, lorsque l'état a accès à des tables d'un autre dossier.

Une charte pour le développement des états Crystal Report a été définie : vous pouvez consulter la documentation Charte des états Crystal Report.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

En-tête

Présentation

L'en-tête permet d'identifier l'état, et de donner ses caractéristiques générales.

 

Champs

Les champs suivants sont présents dans cet onglet :

Code identifiant la fiche courante.

  • Intitulé (champ ZRPTDES)

 

 

Onglet Général

Présentation

Utilisez cet onglet pour renseigner les informations liées à la gestion globale de l'état.

Duplication d'un état en local

Un utilisateur peut dupliquer un état dans sa sandbox pour modifier l'état localement. Pour dupliquer l'état dans votre sandbox et pour repartager l'état avec les autres utilisateurs, suivez ces étapes :

1. Dans le tableau Crystal reports, cliquez sur Transférer depuis l'icône Actions au début de la ligne de l'état. Le statut 'Demande de transfert' s'affiche dans le champ Statut.

2. Enregistrez la fiche. Le statut 'Sandbox' s'affiche dans le champ Statut. L'état a été dupliqué dans votre sandbox et vous pouvez modifier l'état. Tant qu'un état est dans une sandbox, aucun autre utilisateur ne peut modifier l'état.

3. Pour repartager l'état avec les autres utilisateurs :

  • Cliquez sur Publier avec modificationsdepuis l'icône Actions au début de la ligne si vous avez modifié l'état. Le statut 'Demande de publication avec modifications' s'affiche dans le champ Statut.
  • Cliquez sur Abandonner les modificationsdepuis l'icône Actions au début de la ligne si vous n'avez pas modifié l'état. Le statut 'Demande de publication sans modifications' s'affiche dans le champ Statut.

4. Enregistrez la fiche. Le statut 'Partagé' s'affiche dans le champ Statut. L'état est à nouveau partagé avec les autres utilisateurs.

 

Champs

Les champs suivants sont présents dans cet onglet :

Généralités

  • Actif (champ ENAFLG)

Sélectionnez cette case à cocher pour activer la fiche courante.

Les enregistrements non sélectionnés conservent leur contenu et paramétrage, mais ne pourront pas être utilisés en rappelant leur code dans :

  • les autres enregistrements, comme les documents et paramètres,
  • les traitements en masse.

Les habilitations sur une fonction donnée peuvent interdire la création d'une fiche active. Dans ce cas, la case est désactivée par défaut. Elle est modifiable uniquement par un utilisateur autorisé, ou via un Workflow de signature.

Un code activité vous permet de :

  • rendre optionnel un élément du dictionnaire si la valeur associée au code activité est nulle,
  • signer les éléments spécifiques dès lors qu'ils sont marqués par un code commençant par X, Y ou Z,
  • dimensionner un nombre de lignes maximum lorsque le code activité marque des éléments d'un tableau,

Si le code activité est désactivé :

  • l'élément marqué n'est pas utilisable,
  • le code associé n'est pas généré ou activé.
  • Intitulé court (champ ZRPTSHO)

Cet intitulé, qui permet de donner une désignation à la fiche, est utilisé dans certains écrans ou états lorsqu'il n'y a pas assez de place pour visualiser l'intitulélong.

  • Module (champ MODULE)

Module par lequel est utilisé l'état.

  • Groupe (champ GRP)

Groupe d'impression auquel vous associez l'état. Grâce à cette information, vous pourrez lancer l'état depuis le menu impression avec le sous-menu RPTxx (ou xx est le numéro de l'élément du menu local 97 pour le champ Groupe). La mise à jour de cette information ne nécessite pas de protection par code activité.

Un droit d'accès pour ce groupe doit être défini dans la gestion des utilisateurs.

Langue

  • Multi-langues (champ MULLAN)

Si cette case est cochée, l'état est généré dans toutes les langues gérées par le dossier.

Si cette case n'est pas cochée, l'état est généré uniquement dans la langue de conception.

Ce champ permet de réserver l'état à une langue (langue dans laquelle l'état à été conçu).

Caractéristiques de la sortie

  • Type (champ PRTNAT)

Au lancement de l'impression, la destination est déterminée :

  • par la formule complément si celle-ci existe (dans le champ Formule complément),
  • ou par la destination,
  • ou par le type si la formule complément et la destination ne sont pas renseignés.

Le type sert à déterminer une destination dans le cas ou la formule complément et la destination ne sont pas renseignées. Au lancement de l'impression, le superviseur détermine la destination par le paramètre associé au type. A chaque type correspond un paramètre, dans lequel vous devez saisir une destination.

Normal

Paramètre PRT1

Fax

Paramètre PRT2

Thermique

Paramètre PRT3

Couleur

Paramètre PRT4

SEEINFO Les valeurs de ce menu local (menu local 22) sont modifiables.

  • Imprimante ZPL (champ GESZPL)

Si cette case est cochée, l'état peut-être imprimé sur une imprimante ZPL.

Ce code permet d'identifier le paramétrage d'une imprimante ZPL. Il est nécessaire pour que cet état puisse être imprimé sur ce type d'imprimante.

Indique une fiche destination. Cette fiche contient les caractéristiques d'impression.

  • Obligatoire (champ PRTOBL)

Si cette case est cochée, vous ne pouvez pas modifier la destination au lancement de l'impression de l'état.

  • Impressions liées (champ IMPLIE)

Le serveur d’édition est multi-processus. Il peut donc traiter en parallèle N demandes. Par contre, une imprimante donnée ne peut imprimer qu’un seul état à la fois.

Ce qui veut dire que si deux états sont soumis au même instant sur le même serveur d’édition, à destination de la même imprimante, toute la phase de traitement Crystal Report des états (requêtes SQL, mise en forme, etc.) est parallélisée. Seule la phase de production « papier » est sérialisée.

Cette option permet de respecter l'ordre de définition des états dans la fiche dictionnaire ou en cas d'utilisation d'un paramètre de segmentation.

  • Formule complément (champ PRTFRM)

Ce champ, même s'il n'est pas renseigné, sert à la recherche d'une destination par utilisateur et par état. Cette destination, si elle est trouvée, sera prioritaire par rapport à celle indiquée dans le champ Destination.

Au moment de l'impression, dans l'algorithme d'affectation de l'imprimante, cette zone sera comparée au complément défini dans la fonction d'affectation des imprimantes par utilisateur.

Exemple :

  • Pour l'état X, vous avez défini un complément avec la valeur 'PAR', correspondant à l'imprimante Y.
  • La formule de l'état X contient l'expression "PARAM(site)".
  • Au moment d'imprimer l'état, si le paramètre Site est égal à PAR, l'imprimante sera initialisée à Y.

Scripts

  • Script standard (champ TRTINI)

Traitements dans lesquels il sera possible d'écrire des sous-programmes complémentaires à l'impression de cet état.

Ils sont exécutés par la procédure d'impression juste avant d'exécuter l'état Crystal Reports.

Ils permettent :

  • d'initialiser des variables définies dans le paramètrage de l'état,
  • de préparer des fichiers avant l'impression,
  • de mettre à jour des champs dans la base de données (exemple : case à cocher d'édition).

Ces traitements d'initialisation sont exécutés pour chaque état.

Un traitement est réservé au développement standard et un traitement est réservé au spécifique. La mise à jour du traitement spécifique ne nécessite pas de protection par code activité. Vous pouvez consulter cette documentation : Aide développement.

  • Script spécifique (champ TRTSPE)

 

Accessibilité

  • Non exécutable (champ EXEFLG)

Si cette case est cochée, l'état n'est pas exécutable directement depuis le menu impression. C'est le cas des états qui sont directement liés à une fonction et dont la valeur des paramètres d'impression sont issus de la fonction.

  • Batch obligatoire (champ EXEBAT)

La mise à jour de ces informations ne nécessite pas de protection par code activité.

 

Tableau Crystal reports

  • Nom état (champ CRYCOD)

De un à cinq états sont imprimés consécutivement lors du lancement de l'impression. La saisie des paramètres pour tous les états est regroupée au lancement. On génère un fichier par état. Ils seront nommés : fichier.ext, fichier_1.ext, fichier_2.ext, … fichier_n.ext. Pour chaque état, on indique l'orientation (portrait / paysage). Le traitement d'initialisation est exécuté pour chaque état.

  • Orientation (champ ORIENT)

Format portrait ou paysage. Cette information doit être cohérente avec celle saisie sur l'état Crystal Report. La mise à jour de ce champ ne nécessite pas de protection par code activité.

  • Format papier (champ FORETA)
  • Statut (champ DEVSTA)

Les différents statuts de l'état sont les suivants :

Partagé

L'état est commun à tous les utilisateurs. Ce statut est le statut par défaut.

Demande de transfert

Ce statut s'affiche si vous cliquez sur Transférer depuis l'icône Actions au début de la ligne.

Utilisez cette action pour demander le transfert de l'état sur votre sandbox.

Sandbox

Ce statut s'affiche si vous avez cliqué sur Transférer et avez enregistré la fiche.

L'état est alors dupliqué dans votre sandbox et toutes les modifications que vous ferez sur l'état seront locales.

Les champs Utilisateur et Date sont automatiquement alimentés avec votre nom d'utilisateur et la date du jour.

Demande de publication sans modifications

Ce statut s'affiche lorsque vous cliquez sur Abandonner les modificationsdepuis l'icône Actions au début de la ligne.

Utilisez cette action pour repartager l'état avec les autres utilisateurs si vous n'avez pas modifié l'état.

Enregistrez la fiche. Le statut 'Partagé' s'affiche alors à nouveau.

Demande de publication avec modifications

Ce statut s'affiche lorsque vous cliquez sur Publier avec modifications depuis l'icône Actions au début de la ligne.

Utilisez cette action pour repartager l'état avec les autres utilisateurs si vous avez modifié l'état.

Enregistrez la fiche. Le statut 'Partagé' s'affiche alors à nouveau.

Les champs Utilisateur et Date sont automatiquement alimentés avec votre nom d'utilisateur et la date du jour quand le statut de l'état devient 'Sandbox'.

  • Date (champ DEVDAT)

 

Autorisations

  • Autorisation site (champ AUZFCY)

La case à cocher Autorisation site permet d'indiquer si l'accès à cet état est contrôlé par site.

Si la case est cochée, vous devez alors indiquer par rapport à quelle fonction (champ Fonction). Vous pouvez indiquer une fonction générique RPTxx où xx représente le groupe d'impression.
SEEINFO La gestion d'une autorisation par site nécessite que l'état Crystal Report soit conçu pour restreindre l'impression des données aux sites autorisés.

 

 

Ce code d'accès permet l'autorisation ou l'interdictiond'exécution de l'état par un utilisateur.

 

Icône Actions

Action de déroutement STANDARD

 

 

Onglet Paramètres

Présentation

Dans ce tableau, définissez les paramètres nécessaires à l'exécution d'un état Crystal Reports.

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau Paramètres

  • Paramètre (champ PARCOD)

Ce code sera utilisable sous Crystal Reports.

Une fenêtre de sélection propose l'ensemble des paramètres déjà existants sur les états. Pour une même notion, il est donc conseiller de réutiliser les mêmes nom de paramètre.

Automatisme et normes pour les paramètres exprimant une borne début et fin :

Saisissez uniquement la borne de début. Son code doit se terminer par le suffixe « deb » ou « str ».

Le paramètre pour la borne de fin est généré avec la même racine que la borne début et le suffixe « fin » ou « end ». Il n'apparait pas dans le tableau mais est passé à Crystal.

  • Intitulé paramètre (champ ZPARNAM)

 

Vous devez définir ici le type de la zone.

Les principaux types sont :

  • A : Alphanumérique
  • C : Entier court
  • L : Entier long
  • DCB : Décimal
  • D : Date
  • M : Menu local

D'autres types prédéfinis existent. Ils font généralement référence à une table annexe (devise, section,etc.). Utilisez le raccourci clavier ESC + F12 ou l'icône Sélection pour ouvrir la liste des types.

  • Longueur (champ PARLNG)

Permet de définir la longueur d'un champ lorsque ce champ utilise un type de données générique dont la longueur n'est pas fixée. C'est le cas notamment pour les types A et DCB.

Pour les blob, comme pour les clob, il faut saisir la longueur qui sera une longueur maximale de stockage. La codification est la suivante :

Longueur

Taille mémoire

Caractères maximum

 0

 1020

 510

 1

 2044

 1022

 2

 4092

 2046

 3

 8188

 4094

 n

 1024*(2^n) - 4

 512*(2^n) - 2

  • Menu (champ PARNOLIB)

Définit le numéro de menu local associée au champ défini sur la ligne.

Lorsqu'un champ est de type menu local, il est stocké sous la forme d'une valeur numérique (de 1 à 255) correspondant au rang d'un intitulé dans une table appelée menu local, stockée dans la table des messages APLSTD.

En saisie ou en affichage, on voit, selon les choix faits sur l'interface utilisateur :

  • soit un intitulé pouvant être choisi dans une liste déroulante communément appelée combo box
  • soit une liste de boutons de choix.

L'intérêt de ce type de saisie est que la liste des choix est présentée dans la langue de connexion de l'utilisateur.

Chaque numéro de menu local caractérise la liste des intitulés possibles. Par exemple, le menu local 1 correspond au choix Non / Oui dans cet ordre. Dans ce cas particulier, l'interface utilisateur peut aussi être la case à cocher.

  • Type de valeur (champ PARSTREND)

Indique s'il faut saisir un intervalle de valeur.

Automatisme et normes pour les paramètres exprimant une borne début et fin :

Saisissez uniquement la borne de début. Son code doit se terminer par le suffixe « deb » ou « str ».

Le paramètre pour la borne de fin est généré avec la même racine que la borne début et le suffixe « fin » ou « end ». Il n'apparait pas dans le tableau mais est passé à Crystal.

  • Sai (champ PARSAI)

Indique si le paramètre est saisissable ou pas au lancement de l'état.

  • Valeur par défaut (début) (champ PARDEF1)

Il est possible de saisir une expression qui sera évaluée à la saisie pour initialiser le paramètre.

  • Valeur par défaut (fin) (champ PARDEF2)

 

  • Contrôle (champ PARCTL)

Il est possible de saisir une formule pour contrôler la saisie de ce paramètre. La variable VALEUR représente la valeur saisie du paramètre.

On peut indiquer ici le code d'une table de contrôle pour vérifier la saisie du paramètre.

  • Paramètre objet/dépendance (champ PARPAR)

Permet de saisir le premier élément de clé d'un objet, si cet objet a une clé à deux composantes (par exemple, numéro table pour une table diverse).

Particularité pour une table diverse dépendante : ce champ permet de saisir l'élément maître de la table diverse "Maître". Dans ce cas, le numéro de la table diverse est à saisir dans la colonne Menu.

  • Options (champ PAROPT)

Ce champ est saisissable si le type de donnée est lié à un objet. Ce champ permet de définir une ou plusieurs options de filtre définies dans l'objet. Le superviseur contrôle la valeur saisie dans le paramètre en fonction des filtres positionnés. De même, la fenêtre de sélection tient compte des filtres. 

Ce code d'accès permet d'interdire la saisie et la visualisation du paramètre.

En effet, si la zone est renseignée, seuls les utilisateurs ayant ce code d'accès avec le droit de modification pourront modifier le paramètre.

Segmentation

  • Paramètre de segmentation (champ PARSEG)

Permet d'éclater l'impression en plusieurs impressions, dans le but d'améliorer les performances d'un état très volumineux. Il s'agit donc de définir ici le paramètre sur lequel seront à saisir les tranches de valeurs prises en compte pour l'éclatement de l'état.

Au lancement de l'état, la saisie de ces différentes tranches de valeurs doit se faire depuis l'icône Actions  sur le paramètre de segmentation.

 

Onglet Données

Présentation

Si l'état s'appuie sur au moins une table d'un autre dossier, vous devez obligatoirement indiquer la source de données liée à chaque dossier supplémentaire sous la forme « solution;dossier ». Le dossier doit être un dossier lié dans la gestion dossier. Le nombre de sources de données est limité à cinq. Le dossier saisi n'est, en fait, qu'une valeur par défaut, puisque la source est modifiable au lancement de l'impression. Si la solution n'est pas indiquée, le superviseur prend la solution courante; il en est de même pour le dossier. Pour atteindre les tables du dossier mère, vous pouvez utiliser la variable GDOSX3.

Ensuite, pour chaque source de données, vous devez indiquer les tables utilisées dans l'état. Si une table n'est pas référencée, elle sera automatiquement associée à la source de donnée du dossier courant. De ce fait, les tables du dossier courant ne doivent pas être référencées ici.

Le nom de la table doit être celui utilisé dans Crystal (cela peut être le nom de pseudonyme, s’il en existe dans Crystal).

Le nombre de tables est limité à 10 (cette limite est due au serveur d’impression).

Le nom d'une table est limité à 200 caractères.

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau Sources de données

  • Intitulé (champ ZSRC)

 

  • Dossier par défaut (champ DOSSIER)

Si l'état s'appuie sur au moins une table d'un autre dossier, on aura l'obligation d'indiquer la source de données liée à chaque dossier suplémentaire sous la forme « solution;dossier ». Il faut que le dossier soit un dossier lié dans le gestion dossier. Le nombre de sources de données est limité à 5. Le dossier saisi n'est, en fait, qu'une valeur par défaut, puisque la source est modifiable au lancement de l'impression. Si la solution n'est pas indiquée, le superviseur prend la solution courante; il en est de même pour le dossier. Pour atteindre les tables du dossier mère, on peut utiliser la variable GDOSX3, disponible pour tout produit. Pour atteindre les tables du dossier d'exploitation X3, depuis un autre produit (géode GX, Abel X3, Paie), les variables GSOLCPT et GDOSCPT contiennent respectivement la solution et le dossier X3.

Tableau Tables

  • Table (champ TBL)

Tables associées à l'une des sources de donnée ci-dessus pour accéder à un autre dossier. Le nombre de tables par source de donnée est limité à 10. Le nom d'une table est limité à 200 caractères.

  • Intitulé (champ LIBTBL)

 

  • Numéro (champ NUM)

Numéro identifiant l'une des sources de données du tableau ci-dessus.

  • Source de données (champ LIBNUM)

Saisissez la description de la fiche concernée.

Cet intitulé long est utilisé en titre dans les écrans et les états.

 

Création d'un état Crystal Report

Pour créer un état Crystal Report, suivez les étapes ci-dessous :

1. Créez l'état Crystal, par l'outil Crystal Designer, sur le poste client, dans le répertoire RptDev.

2. Tester l'état par l'outil Crystal Designer.

3. Créez la fiche dictionnaire dans X3.

4. Testez l'état depuis X3, en sélectionnant le mode 'Développeur état' depuis le menu Outils, accessible depuis le menu principal en mode client-serveur.

5. Transférez l'état sur le serveur, depuis le dictionnaire des états, sur le champ Nom état, par le menu contextuel.

Modification d'un état Crystal Report

Pour modifier un état Crystal Report, suivez les étapes ci-dessous :

1. Transférer l'état sur le client, depuis le dictionnaire des états, sur le champ Nom état, par le menu contextuel.

2. Modifier et tester l'état par l'outil Crystal Designer.

3. Testez l'état depuis X3, en sélectionnant le mode 'Développeur état' depuis le menu Outils, accessible depuis le menu principal en mode client-serveur.

4. Transférez l'état sur le serveur, depuis le dictionnaire des états, sur le champ Nom état, par le menu contextuel.

Etats

Par défaut, les états suivants sont associés à la fonction :

 AREPORT : Dictionnaire des états

Mais ceci peut être modifié par paramétrage.

Boutons spécifiques

Ce bouton permet de lancer l'impression de l'état courant directement depuis cette fonction.

Les champs suivants sont présents dans la fenêtre ouverte par ce bouton :

Bloc numéro 1

  • champ OBJET

 

  • champ CLES

 

Bloc numéro 2

  • Depuis le dossier (champ DOSORG)

Indiquez le dossier à partir duquel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

  • Tous dossiers (champ TOUDOS)

Cette option permet de copier la fiche vers tous les dossiers définis dans le dictionnaire (table ADOSSIER de la solution courante).

  • Vers le dossier (champ DOSDES)

Indiquez le dossier dans lequel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

Ce bouton permet de recopier le dictionnaire de l'état vers un autre dossier.

Barre de menu

Documentation / Paragraphes

Cette fonction permet d'accéder à la gestion de la documentation, sur le premier paragraphe de la documentation (si elle existe) associé à la fiche courante.

Documentation / Liens

Cette fonction permet d'accéder à la gestion des liens. Elle permet de définir des liens entre la fiche courante et d'autres fiches (par exemple des liens entre fonctions et paramètres). Ces liens, purement documentaires, permettent d'alimenter la mécanique de génération des squelettes de documentation.

Documentation / Génération

Ce menu permet de lancer une génération de documentation. La génération peut se lancer également à partir du bouton [Génération] dans le bas de la fenêtre.

Trois types de génération peuvent être lancées, séparément ou simultanément :

  • la génération du squelette de documentation à partir du dictionnaire (tables ADOCUMENT, ADOCBLB, ADOCCLB).
  • la génération de la documentation à partir des tables précédentes.
  • la génération de la documentation sur champ.

Les bornes proposées par défaut tiennent compte de la fiche en cours, mais elles peuvent être modifiées au lancement.

Messages d'erreur

Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie :

Suppression impossible / clé utilisée dans la fonction xxx

Vous tentez de supprimer une fiche dictionnaire pour un état qui est utilisé dans cette fonction.

Suppression impossible / clé utilisée dans l'objet xxx

Vous tentez de supprimer une fiche dictionnaire pour un état qui est utilisé dans cet objet.

Type imprimante incorrect

Lorsque vous précisez une destination dont la sortie est une imprimante, le type saisi sur l'écran doit être cohérent avec celui de la fiche destination.

Fichier inexistant

Vous tentez de copier un état Crystal Report du serveur sur le client, mais l'état n'est pas trouvé sur le serveur. Ce même contrôle existe pour la copie du client vers le serveur.

Fichier existant, souhaitez-vous l'écraser ?

Vous tentez de copier un état Crystal Report du serveur sur le client, mais l'état est déjà présent sur le client. Ce même contrôle existe pour la copie du client vers le serveur.  

Code déjà existant en ligne nnn

Un code paramètre doit être unique pour un état.

Longueur incorrecte

La longueur d'une variable est contrôlée en fonction de son type.

Type

Longueur maximum

Libellé

30

Entier court

4

Entier long

8

Caractères

250

Date

4, 6 ou 8 (longueur autorisée )

Décimal

32 ( pour partie entière et décimale)

Menu local incorrect

Un menu local associé à un paramètre ne doit pas être compris dans la tranche 100 à 200 (valeurs comprises).

Menu local non défini

Le menu local associé au paramètre n'a pas été défini en tant que tel.

Paramètre inexistant

Le code paramètre saisi pour la segmentation doit exister dans le tableau des paramètres.

xxxx : lien vers dossier non défini

Le dossier/solution défini dans la source de donnée n'est pas déclaré, dans la fiche du dossier courant, dans l'onglet Lien.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre