FICHIERS PHYSIQUES Un fichier physique est un fichier appartenant à la base de données. Il est composé de 2 parties : La partie description (DDS ou SDD) et la partie données proprement dites. La génération des descriptions s'optient par la commande CRTPF ATTENTION : La génération ne peut s'effectuer que si l'objet de type *FILE attribut PF n'existe pas. La suppression de l'objet par la commande DLTF entraine la suppression des descriptions et des données. ________________________________________________________________________________ UNIQUE Niveau Fichier. Permet d'indiquer au système que les clés en double ne sont pas autorisées. Lors de la création du fichier physique (CRTPF), la reconstitution du chemin d'accès (Paramètre MAINT) doit obligatoirement comporter la valeur *IMMED. |
ALTSEQ ((nom-bibliothèque/)nom-de-la-table-de-séquence-alternée) Niveau fichier Permet d'indiquer au système que, si une clé a été indiquée pour ce fichier, il devra utiliser la séquence alternée précisée. Ce mot clé ne peut être utilisé si la zone clé est une zone numérique packée, binaire, avec virgule flottante ou si les mots clé ABSVAL ou SIGNED ont été precisés. Ne peut s'appliquer sur un fichier source. ALWNULL niveau zone (pour compatibilité SQL) Autorise la valeur nulle (en l'absence de ce mot-clé, les variables non renseignées sont initialisées par défaut) ATTENTION: en V2R30 seul RPG reconnaît cette notion en entrée (convertie en val par défaut fonction du type) VARLEN (lg mini) niveau zone (pour compatibilté SQL) zones à lg variable (compris entre lg mini et lg déclarée) le PF contient lg mini, les dépassements sont stockés dans une extension.RPG ET COBOL s'adaptent tant bien que mal. (en V2R30) |
LIFO Niveau fichier Si des enregistrements contenants des clés dupliquées sont re-triés l'ordre sera :dernier écrit premier lu pour une même valeur de clé Par défaut, si les mots clés LIFO ou UNIQUE n'ont pas été précisés l'ordre sera : premier écrit premier lu (FIFO). TEXT ('texte') Niveau enregistrement ou zone. 50 caractères maximum. Si TEXT n'est pas précisé, c'est le COLHDG qui sera utilisé(pour une zone) COLHDG ('ligne1' 'ligne2' 'ligne3') Niveau zone En-tête de colonne utilisée lors d'une application (QUERY, DFU, RLU ou SDA).3 lignes de 20 caractères maximum. Chaque ligne entre apostrophes. Si une apostrophe fait partie d'une en-tête,il faut la doubler. Si COLHDG n'est pas précisé c'est le nom de zone qui sera utilisé. |
VALUES (valeur1 (valeur2...(valeur100))) Niveau zone Permet un contrôle de validité lors de la saisie par une application DFU ou à un programme utilisateur. Seules les valeurs indiquées sont permises. RANGE (valeur1 valeur2) Niveau zone Permet un contrôle de validité lors de la saisie par une application DFU ou à un programme utilisateur. Seules les valeurs comprises entre valeur1 et valeur2 sont permises. COMP (opérateur-relationel valeur) Niveau zone Compare la valeur entrée avec la valeur indiquée. Les opérateurs relationels sont les suivants : EQ - = éGAL à NE - différent de LT - < NL - non < GT - > NG - non > LE - < ou = GE - > ou = |
CHECK (code-de-contrôle (code-de-contrôle.....)) Niveau zone contrôle les valeurs entrées suivant le ou les codes indiqués. AB - Autorise les blancs si CHECK(VN) ME - Un caractère est obligatoire. MF - zone devant être entièrement remplie VN - Nom valide. Ce nom doit obligatoirement commencer par une lettre de A à Z ou par l'un des caractères $,£ M10 - contrôle Modulo 10 M11 - contrôle Modulo 11 CHKMSGID (id-message bibliothèque/fichier-message) Niveau zone indique un message entreprise devant être affiché quand un contrôle de saisie (COMP, RANGE, VALUES) n'est pas respecté. CCSID (page de code) [en france 297] niveau fichier ou niveau zone Indique le codage du fichier (par défaut celui du job créateur) utilisé pour convertir les données type A si CCSID du fichier différent du CCSID du job à la lecture |
EDTCDE (code-d'édition (*/symbole-monétaire)) Niveau zone Un code est à choisir dans le tableau ci-dessous. --------------------------------------------------------------------------- ! Impression ! Impression !! Pas ! Symbole! Symbole ! X Ajout du ! ! des ! montants !! de ! CR ! - ! signe + ! ! points ! nuls !! signe ! ! à D ! à G ! Y Impression ! !--------------------------------------------------!-------! d'une date ! ! OUI ! OUI !! 1 ! A ! J ! N ! Z Suppression! ! OUI ! NON !! 2 ! B ! K ! O ! des zéros ! ! NON ! OUI !! 3 ! C ! L ! P ! et enlève ! ! NON ! NON !! 4 ! D ! M ! Q ! le signe ! --------------------------------------------------------------------------- EDTWRD ('mot-d'édition') Niveau zone Si aucun des codes d'édition (EDTCDE) ne convient, il faut créer un mot d'édition sous la forme: ' .0 . , ' 0=cette position et toutes celles se trouvant à gauche ne sont pas imprimées si nulles. |
NOALTSEQ Niveau clé Si ALTSEQ a été indiqué au niveau fichier, il ne sera pas pris en considération pour cette clé. DESCEND Niveau clé Indique une séquence descendante sur cette clé. Par défaut la séquence ascendante est utilisée. DIGIT Niveau clé Le système prendra uniquement en considération la partie droite des octets (numérique) composant la clé. Inutilisable en même temps que les fonctions ABSVAL, SIGNED ou ZONE. ZONE Niveau clé Le système prendra uniquement en considération la partie gauche des octets (Hors-texte) composant la clé. Inutilisable en même temps que les fonctions ABSVAL, SIGNED ou DIGIT. |
ABSVAL Niveau clé Le système prendra uniquement en considération la valeur absolue des octets composant la clé. ABSVAL ne peut être utilisé que sur une clé numérique. Si ALTSEQ est précisé pour ce fichier, le mot clé ABSVAL entraîne un NOALTSEQ pour cette clé. ABSVAL ne peut être utilisé en même temps que SIGNED, ZONE ou DIGIT. SIGNED Niveau clé Avec SIGNED, le système tiendra compte du signe des clés ,c'est- à-dire que tous les nombres négatifs seront traités en premier. SIGNED ne peut être utilisé que pour une zone numérique. Si ALTSEQ est précisé pour ce fichier, le mot clé SIGNED entraîne un NOALTSEQ pour cette clé. FORMAT ((bibliothèque/) nom-de-fichier) Niveau format Indique au système que le format de ce fichier est identique au format du fichier indiqué. |
REFFLD ((nom-du-format-de-référence/)nom-de-zone (*SRC ou (biliothèque/)nom-du-fichier-de-référence)) Niveau zone Permet de faire référence à une autre zone. (copie de la définition et des caractéristiques) Cette autre zone peut être définie n'importe où dans la base de données. Les paramètres précisent l'endroit exact du format contenant la zone de référence. (*SRC veut dire dans le même source) Lorsque l'on utilise ce mot clé, on doit indiquer R en colonne 29. REFFLD(nom-zone *SRC) permet de faire référence au même source . REF ((biblothèque/) nom-de-fichier) Niveau fichier Indique au système que les zones étant référencées (R en col. 29), et n'ayant pas la fonction REFFLD, sont dans le fichier indiqué. |
REFSHIFT zone alpha (A): REFSHIFT(A | X | W | N | I | D | M) zone numérique (S, B, P): REFSHIFT(S | Y | N | I | D) prédéfinit une position clavier par défaut (utilisée par DSPF) valeur signification utilisation X Alphabétique uniquement Caractère A Alphanumérique Caractère N Numérique Car. or numérique S Numérique signé Numérique Y Numérique seulement Numérique W Katakana (Japon uniquement) Caractère I Entrée clavier inhibée Car. ou numérique D Chiffres uniquement Car. ou numérique M Caractères numériques Caractère uniquement pratiques : A pour une donnée n'acceptant pas de car. spéciaux S pour une donnée numérique dont le signe est pris en charge par un code d'édition. |
DATFMT indique le format d'une zone date (niveau zone) valeur format lg exemple :--------------+------------+-------+--------------+ : *JOB ¦ ¦ ¦ : :--------------+------------+-------+--------------: : *MDY ¦ mm/dd/yy ¦ 8 ¦ 06/21/90 : :--------------+------------+-------+--------------: : *DMY ¦ dd/mm/yy ¦ 8 ¦ 21/06/90 : :--------------+------------+-------+--------------: : *YMD ¦ yy/mm/dd ¦ 8 ¦ 90/06/21 : :--------------+------------+-------+--------------: : *JUL ¦ yy/ddd ¦ 6 ¦ 90/172 : :--------------+------------+-------+--------------: : *ISO ¦ yyyy-mm-dd ¦ 10 ¦ 1990-06-21 : :--------------+------------+-------+--------------: : *USA ¦ mm/dd/yyyy ¦ 10 ¦ 06/21/1990 : :--------------+------------+-------+--------------: : *EUR ¦ dd.mm.yyyy ¦ 10 ¦ 21.06.1990 : :--------------+------------+-------+--------------: : *JIS ¦ yyyy-mm-dd ¦ 10 ¦ 1990-06-21 : :--------------------------------------------------: |
DATSEP (*job ! 'car') indique le format d'une zone date (niveau zone) invalide avec DATFMT(*ISO,*USA,*EUR,*JIS) TIMFMT indique le format d'une zone horaire (niveau zone) valeur format lg exemple :----------+------------+-------+---------: : *HMS ¦ hh:mm:ss ¦ 8 ¦ 14:00:00: :----------+------------+-------+---------: : *ISO ¦ hh.mm.ss ¦ 8 ¦ 14.00.00: :----------+------------+-------+---------: : *USA ¦ hh:mm AM ¦ 8 ¦ 2:00 pm : : ¦ ou ¦ ¦ : : ¦ hh:mm PM ¦ ¦ : :----------+------------+-------+---------: : *EUR ¦ hh.mm.ss ¦ 8 ¦ 14.00.00: :----------+------------+-------+---------: : *JIS ¦ hh:mm:ss ¦ 8 ¦ 14:00:00: :----------+------------+-------+---------: TIMSEP identique à DATSEP , mêmes contraintes. [TIMFMT(*HMS) uniquement) |