Définition des contrôles pour les lignes -CE d'un Segment ou d’une Table

Vous pouvez ouvrir un assistant pour définir ou modifier des contrôles pour chaque Rubrique appelée dans un Segment ou une Table. La partie Appartenance aux sous-schémas de l'assistant n'est active que si vous indiquez un type de contrôle S dans le tableau Plus d'infos.

Ces contrôles sont indiqués dans l'assistant de définition de chaque ligne -CE. Pour ouvrir cet assistant, vous pouvez cliquer sur Plus d'infos dans les sections de définition des appels de l'onglet Lignes -CE. Vous pouvez aussi cliquer sur le bouton qui apparaît quand vous cliquez dans les colonnes CMS456, CRNS, Valeurs/sous-fonctions et MAJ/Table depuis le tableau de l'onglet.
Remarque : Certaines colonnes ne sont pas accessibles selon l'élément appelé.

Ces informations sont utilisées par les fichiers mouvement. Un fichier mouvement se compose d'enregistrements qui mettent à jour un fichier permanent. Le type de mise à jour (création, modification, suppression, ou autres) est appelé le code mouvement. Les validations et mises à jour sont automatiquement associées à chacun des types de mise à jour. Dans la partie commune du fichier, une Rubrique code mouvement représente le code mouvement. Vous devez associer six valeurs à la Rubrique, une par type de mise à jour. Chaque valeur représentera l'entrée utilisateur qui permet d'indiquer la mise à jour appropriée à effectuer dans l'application. Si vous ne précisez pas le code mouvement de la Rubrique, toute mise à jour est considérée comme étant une modification.

Contrôle de présence

Vous indiquez dans cette section si la présence de la Rubrique est obligatoire, facultative ou interdite lorsque le fichier mouvement crée un enregistrement dans le fichier permanent ou la base de données pour un Segment ou pour les contrôles à effectuer sur les mises à jour d'informations de la Table.
Remarque : Les zones Type 4, Type 5 et Type 6 ne sont pas pris en compte par Pactables.
Création
Vous indiquez si la présence de la Rubrique est obligatoire ou non lorsque le fichier mouvement crée un enregistrement dans le fichier permanent ou la base de données.
Modification
Vous indiquez si la présence de la Rubrique est obligatoire ou non lorsque le fichier mouvement modifie un enregistrement dans le fichier permanent ou la base de données.
Suppression
Vous indiquez si la présence de la Rubrique est obligatoire ou non lorsque le fichier mouvement annule un enregistrement dans le fichier permanent ou la base de données.
Type 4
Vous indiquez si la présence de la Rubrique est obligatoire ou non lorsque le fichier mouvement met à jour un enregistrement dans le fichier permanent ou la base de données. Une action de type 4 est une action non standard que vous devez décrire entièrement.
Type 5
Vous indiquez si la présence de la Rubrique est obligatoire ou non lorsque le fichier mouvement met à jour un enregistrement dans le fichier permanent ou la base de données. Une action de type 5 est une action non standard que vous devez décrire entièrement.
Type 6
Vous indiquez si la présence de la Rubrique est obligatoire ou non lorsque le fichier mouvement met à jour un enregistrement dans le fichier permanent ou la base de données. Une action de type 6 est une action non standard que vous devez décrire entièrement.
Tableau 1. Les valeurs possibles pour le contrôle de présence d'une Rubrique
Valeurs Commentaires
Aucun Pas d'action.
F Facultative. Valeur par défaut.
O Obligatoire. Génération d'une gravité E (rejet du mouvement) dans les messages d'erreur standard.
P Obligatoire. Génération d'une gravité C (rejet de la Rubrique) dans les messages d'erreur standard.
I Interdit. Pour les bases de données relationnelles, cette valeur indique la présence d'une colonne dans une table.

Les valeurs Aucun, O, P et I sont reprises dans la zone CMS456 du tableau. Par exemple, si la présence de la Rubrique est déclarée obligatoire lorsque le fichier mouvement modifie un enregistrement, un O s'affichera dans la colonne M de l'appel de la Rubrique dans le tableau.

Contrôle de classe
Vous pouvez sélectionner un contrôle de classe spécifique pour la Rubrique appelée dans le Segment. Ce contrôle est complémentaire au format de la Rubrique, indiqué dans l'onglet Définition de l'éditeur des Rubriques. Pour une Rubrique de classe alphanumérique et alphabétique pure, vous pouvez, par exemple, indiquer si les minuscules ou les majuscules sont acceptées.
Tableau 2. valeurs pour un contrôle de classe
Valeurs Commentaires
Aucun( conseillé) Seul le contrôle généré automatiquement par le format de la Rubrique est obligatoire.
A : Alphabétique Pour une Rubrique alphanumérique, les caractères numériques et les caractères spéciaux seront rejetés.
L : Alphabétique Minuscule Pour une Rubrique alphanumérique, seules les lettres en minuscules seront acceptées.

Cette valeur n'est pas disponible dans les lignes -CE d'une Table Pactables.

U : Alphabétique Majuscule Pour une Rubrique alphanumérique, seules les lettres en majuscules seront acceptées.

Cette valeur n'est pas disponible dans les lignes -CE d'une Table Pactables.

9 : Numérique Pour une Rubrique alphanumérique, les caractères alphabétiques et les caractères spéciaux seront rejetés.
B : Numérique après remplacement des premiers blancs par des zéros Pour une Rubrique numérique, les premiers blancs seront remplacés par des zéros.

Cette valeur n'est pas disponible dans les lignes -CE d'une Table Pactables.

Z : Numérique après remplacement de tous les blancs par des zéros Pour une Rubrique numérique, tous les blancs seront remplacés par des zéros.

Plus d'infos

Ce tableau est relatif à la valeur de la Rubrique dans l'interface utilisateur. Vous pouvez contrôler la valeur de la saisie de l'utilisateur par rapport à une valeur de référence ou en fonction d'un contrôle écrit en spécifique. Vous pouvez définir la façon dont la Rubrique est mise à jour. Vous pouvez aussi définir une valeur initiale pour la Rubrique.

Vous pouvez créer plusieurs lignes pour chaque appel de Rubrique.

Vous pouvez ajouter, supprimer ou déplacer des lignes dans le tableau à l’aide des boutons prévus à cet effet. Pour modifier une ligne, cliquez directement sur la zone à modifier.
Remarque : En cas d’erreur sur une ligne, un message dans une infobulle vous informe de l’origine de l’erreur.
Opérateurs logiques
Les opérateurs vous permettent de lier deux lignes consécutives. II est donc impossible de sélectionner un opérateur sur la première ligne. Les valeurs suivantes sont disponibles :
  • E génère AND,
  • O génère OR.
Négation
La négation agit sur le Type de contrôle sélectionné, quand celui-ci est =, > ou <. Si vous sélectionnez N, un NOT est généré devant le contrôle.
Exemple : Si vous voulez que la valeur saisie par l'utilisateur soit différente de la valeur que vous indiquez dans la zone Valeurs/sous-fonctions, vous sélectionnez la négation N et le type de contrôle =.
Type de contrôle
Cette colonne permet de contrôler la valeur de la saisie de l'utilisateur dans la Rubrique par rapport à des valeurs de référence ou à un contrôle écrit en spécifique. Elle permet de préciser la façon dont la Rubrique sera mise à jour et de définir une valeur initiale pour la Rubrique. Elle permet enfin d'indiquer des compléments utiles pour les bases DL1, les bases relationnelles ou les Tables Pactables.

Cette colonne est complétée par les colonnes Valeurs/sous-fonctions et MAJ/Table.

Tableau 3. Contrôle de valeur de la Rubrique. Ce tableau présente les types de contrôle possibles pour contrôler la saisie de l'utilisateur par rapport à des valeurs de référence ou à un contrôle écrit avec du code spécifique.
Valeurs Commentaires
= La valeur saisie par l'utilisateur doit être égale à la valeur indiquée dans la zone Valeurs/sous-fonctions.
> La valeur saisie par l'utilisateur doit être plus grande que la valeur indiquée dans la zone Valeurs/sous-fonctions.
< La valeur saisie par l'utilisateur doit être plus grande que la valeur indiquée dans la zone Valeurs/sous-fonctions.
T La valeur saisie par l'utilisateur doit appartenir à la table indiquée dans la zone MAJ/Table. Il n'est pas possible de préciser d'autres contrôles après un contrôle par rapport à une table.

Cette valeur n'est pas disponible dans les lignes -CE d'une Table Pactables.

E La valeur saisie par l'utilisateur est contrôlée par rapport aux valeurs précisées dans les Lignes -D de la Rubrique.

Cette valeur n'est pas disponible dans les lignes -CE d'une Table Pactables.

P La valeur saisie par l'utilisateur est contrôlée par une sous-fonction appelée par PERFORM. Il ne peut y avoir plus d'un contrôle par PERFORM pour chaque Rubrique appelée dans un Segment.

Les opérations suivantes sont effectuées :

  • Transfert de la Rubrique dans la zone de travail COBOL définie dans la zone MAJ/Table. La déclaration obligatoire de cette zone par ligne de description de Segments est à votre charge.
  • PERFORM de la sous-fonction indiquée dans la zone Valeurs/sous-fonctions. Cette sous-fonction peut contrôler, et éventuellement modifier, la Rubrique. Le résultat du contrôle est indiqué dans la variable intermédiaire (EN-PRE) générée automatiquement. Le résultat du contrôle est transféré dans la table d'erreurs (EN-PRR), à la position correspondant à la Rubrique traitée.
  • Transfert de la zone de travail dans la Rubrique initiale, ce qui permet de tenir compte des modifications apportées par l'utilisateur. Cette option est recommandée pour les contrôles de dates, avec inversion éventuelle jour-an. Dans ce cas, la date doit être définie comme une Rubrique élémentaire. Dans la description d'une Rubrique d'un fichier mouvement, un contrôle par PERFORM peut être indiqué avant ou après un contrôle de contenu. S'il figure avant, il n'est exécuté que si la Rubrique est présente et bonne. S'il figure après, il n'est exécuté qu'en cas d'erreur de contenu et il vous appartient de remplir la position de EN-PRR correspondante.
Tableau 4. Définition d'une mise à jour. Ce tableau présente la façon dont la Rubrique est mise à jour. Vous pouvez indiquer que la saisie de l’utilisateur met à jour la Rubrique dans tous les cas ou uniquement si le contrôle de valeur indiqué pour cet appel de Rubrique est respecté. Vous pouvez aussi indiquer que la Rubrique est mise à jour en ajoutant ou retranchant une valeur à la valeur saisie par l'utilisateur.
Valeurs Commentaires
Pas de valeur La Rubrique est mise à jour avec la valeur saisie par l'utilisateur, uniquement si cette valeur respecte le contrôle de valeur indiqué.
M La Rubrique est mise à jour par la valeur saisie par l'utilisateur, quel que soit le résultat du contrôle de valeur indiqué. Une mise à jour de ce type peut être effectuée à partir d'une Rubrique groupe.

Cette valeur n'est pas disponible dans les lignes -CE d'une Table Pactables.

+ La Rubrique est mise à jour en ajoutant à la valeur saisie par l'utilisateur la valeur indiquée dans la colonne Valeurs/sous-fonctions. Cette mise à jour est effectuée uniquement si la saisie de l'utilisateur respecte le contrôle de valeur indiqué.
- La Rubrique est mise à jour en soustrayant de la valeur saisie par l'utilisateur la valeur indiquée dans la colonne Valeurs/sous-fonctions. Cette mise à jour est effectuée uniquement si la saisie de l'utilisateur respecte le contrôle de valeur indiqué.
Tableau 5. Définition d'une valeur initiale
Valeurs Commentaires
V Une clause VALUE est généré pour la Rubrique à partir du littéral indiqué dans Valeurs/sous-fonctions. Le Type de description dans les Lignes -CD doit autoriser la génération des clauses VALUE.

Si le littéral n'est pas indiqué, la valeur provient de la ligne de type D de la description de la Rubrique.

Cette valeur n'est pas disponible dans les lignes -CE d'une Table Pactables.

W Cette valeur est identique à V mais le littéral peut continuer dans MAJ/Table. Dans ce cas, les valeurs des deux colonnes sont considérant comme une seule valeur.

Cette valeur n'est pas disponible dans les lignes -CE d'une Table Pactables.

Tableau 6. Usages spécifiques
Valeur Commentaires
M Valeur utilisée pour une base DL/1.

Elle sert à indiquer un Rubrique groupe clé associée au code saisi (après A*) dans la zone MAJ/Table.

S Valeur est utilisée pour Pactables et les bases relationnelles SQL.

Si vous sélectionnez cette valeur et cliquez dans une autre zone pour valider, la partie Appartenance aux sous-schémas devient active pour vous permettre de sélectionner un ou plusieurs sous-schémas.

Si la Rubrique appartient à une zone groupe, vous devez sélectionner un sous-schéma au niveau de la zone groupe.

D Date au format JJMMAA dans une Table Pactables
I Date au format AAMMJJ dans une Table Pactables.
K Date au format JJMMSSAA dans une Table Pactables.
L Date au format SSAAMMJJ dans une Table Pactables.
Valeurs/sous-fonctions
Cette colonne est étroitement liée à la valeur de la zone Type de contrôle de la façon suivante :
  • Avec =, > ou <, saisissez la valeur à comparer.
  • Avec P, saisissez le code de la sous-fonction à exécuter.
  • Avec +, ou M, saisissez la valeur à ajouter, soustraire ou à déplacer.
  • Avec V, saisissez le littéral qui doit être utilisé comme valeur initiale.
  • Avec W, saisissez la première partie du littéral, qui s'étend à la colonne suivante.
  • Avec S, cette colonne n'est pas saisissable. Elle affiche un O pour représenter chaque sous-schéma sélectionné dans Appartenance aux sous-schémas. La position du O reflète le numéro du sous-schéma d'appartenance de la Rubrique.
    Exemple : Cette colonne affiche O OO pour les sous-schémas 0, 2 et 3.
MAJ/Table
Cette colonne a plusieurs usages :
  • Zone à mettre à jour dans un fichier permanent. Vous devez indiquer le code dans le programme de la Structure de Données à mettre à jour (utilisation P : Principal dans les Lignes -CD), ou de la Structure de Données Table lorsque le type de contrôle est T.
  • Zone compteur définissant le nombre de répétitions variable. Vous devez définir le compteur en indiquant **, suivi du Segment et de la Rubrique. La clause OCCURS DEPENDING ON est générée. Les transferts du compteur entre les zones d'entrée, zones de travail et zones de sortie sont automatiques si ce compteur appartient à la partie commune.
  • Zone utilisée par la fonction de contrôle, en association avec le type de contrôle P. Vous devez indiquer le code de la Structure de Données dans la WORKING-STORAGE SECTION.
  • Suite du littéral pour une valeur initiale, en association avec le type de contrôle W. La valeur de cette colonne est associée à la valeur de la colonne précédente pour la mise à jour.
  • Champ d'une base DL/1, en association avec le type de contrôle M. Vous devez saisir A*, suivi du code (sur huit caractères) du champ correspondant à la Rubrique.
  • Libellé relationnel d'une colonne d'une base relationnelle SQL. Vous devez saisir A*, suivi du nom externe de la colonne.

Un chaînage libre est établi dès que vous indiquez une Rubrique dans cette zone.

La saisie dans cette zone est facilitée par un assistant de saisie, signalé par le symbole assistant de saisie devant la zone. Pour activer l'assistant de contenu, cliquez simultanément sur Ctrl et la barre d'espace. Un lien de sous-référence est créé automatiquement, même si l'instance cible n'existe pas. Depuis l'instance cible affichée dans les sous-références, vous pouvez lancer une recherche de super-références.

Si vous placez le curseur de la première à la quatrième position de la zone, l'assistant de contenu affiche d'abord la liste des Segments. Sélectionnez l'un d'eux puis cliquez à nouveau dans la zone et cliquez à nouveau sur Ctrl et la barre d'espace. L'assistant de contenu affiche alors la liste des Rubriques. Sélectionnez l'une d'elles.

Appartenance aux sous-schémas

Sous-schémas 0 - 9
Vous pouvez affecter une Rubrique ou une groupe à un ou plusieurs sous-schémas en sélectionnant les cases correspondant à ces sous-schémas.
Quand vous sélectionnez un sous-schéma, la colonne Sous-schémas du tableau des lignes -CE affiche un O sur la ligne d'appel. La position du O reflète le numéro du sous-schéma d'appartenance.
Exemple : Si vous sélectionnez les sous-schémas 0, 2 et 3, cette colonne affichera O OO.

Vos commentaires