Programmation sur l'AS400

La programmation de l'AS400 repose sur les DDS -Data Description Specifications- pour tout ce qui concerne les fichiers et sur le langage RPG pour les traitements.

L'environnement de développement et d'autres langages sont abordés dans un document de Présentation de l'AS400.

Accès rapide: types de fichiers, dictionnaire, bases SEU, fichiers de données écrans, états

Sommaire

Partie 1 - Base de données

Différents types de fichiers

Un fichier AS400 reçoit, stocke et/ou transforme des données selon un format spécifique, qu'il s'agisse d'un fichier de données, un fichier écran ou un fichier imprimante.

Un format définit un ensemble de champs ou zones, qui peuvent être spécifiées explicitement ou en référence à d'autres zones appartenant éventuellement à d'autres fichiers. Le nommage doit être homogène dans une application ou sur un site, et un dictionnaire peut être établi, sous la forme d'un fichier décrivant toutes les zones connues et non destiné à contenir des données.

La terminologie base de données parle de tables, lignes ou tuples, et colonnes.
La terminologie AS400 décrit des fichiers, des enregistrements caractérisés par leur format, et découpés en zones ou champs.

Fichiers physiques

Un fichier physique décrit le format de ses données, lesquelles sont contenues dans un membre (éventuellement plusieurs).

Le format est unique et décrit les zones des enregistrements. Les programmes RPG (ou autres) qui utilisent le fichier contrôlent le niveau du format lors de son ouverture, longue clé alphabétique calculée lors de la compilation du fichier en fonction des caractéristiques des champs (types et longueurs). Ce contrôle peut être neutralisé pour le fichier par CHGPF LVLCHK(*NO), mais un programme ne peut pas ouvrir un fichier à description externe si le nom du format ne correspond pas à celui attendu.

Un source de fichier physique spécifie

Si des clés sont sont décrites dans le fichier physique, il doit s'agir des identifiants principaux et uniques pour l'accès au fichier

Fichiers logiques

Un fichier logique de contient pas de données mais décrit un accès avec vue et index sur un ou plusieurs fichiers physiques. La gestion du contenu du fichier logique est entièrement assurée par le système et aucune intervention n'est nécessaire (ni même possible).

Dans le cas le plus standard, le logique possède un seul format qui porte le nom de celui du fichier physique de référence et définit un index secondaire sous forme d'une simple liste de clés. Dans ce cas, les champs du format ne doivent pas être spécifiés.

Si le nom du format n'est pas celui du fichier physique, ou si plusieurs fichiers physiques sont référencés par jointure, la liste des champs doit être établie en référence aux physiques.

Les champs peuvent être renommés et réorganisés, des sélections et jointures sont possibles. Plusieurs formats peuvent être définis, avec des zones distinctes mais nécessairement des clés communes.

Fichiers imprimantes

Un fichier imprimante à description externe est composé d'un ensemble de formats qui décrivent chacun une bande imprimable avec

Fichiers écrans

Un fichier écran est découpé en formats non recouvrants qui décrivent chacun une bande d'affichage. Un format de type particulier (sous fichier) permet de gérer assez simplement les listes avec défilement.

Dictionnaire de données

Un dictionnaire de données est un fichier non destiné à contenir des données, et spécifiant tous les champs significatifs d'une application.

Normalisation des noms de zones

L'objectif de toute normalisation devrait être d'éviter toute réflexion inutile, de favoriser la mémorisation et de limiter les possibilités d'erreur et de confusion. Les normes décrites dans ce document constituent une approche possible, mais toute autre norme plus simple, plus mnémotechnique ou plus sûre doit leur être substituée. Un autre problème classique est la sur normalisation: toute norme dont il est possible de se passer sans dommage doit être abandonnée.

Le langage RPG et d'autres outils nécessitent des noms de zones de 6 caractères maximum, même si les noms de champs de fichiers peuvent aller jusqu'à 10 caractères. La pratique montre que la notation la plus commode consiste en un préfixe de 2 caractères suivi d'un suffixe de 4 caractères

L'usage direct de 6 caractères nécessite des renommages, rend plus difficile la mémorisation et entraine des risques de confusion.

Le programmes RPG n'acceptent pas que des fichiers et des formats portent le même nom une convention commode consiste en

Fichiers sources

Les fichiers sources sont des fichiers base de données multimembres obéissant à un format spécifique et manipulables par de nombreux outils dédiés, dont les éditeurs de sources.

Les conventions d'apellation des fichiers sources sont issues de l'évolution de la gamme IBM, S36 puis S38, à la fin du précédent millénaire.

Systèmes 36:

Sur le système 38, l'outil de développement est le menu programmeur qui identifie les sources selon le fichier les contenant, sans utiliser le typage des membres.

Ces conventions ne sont plus nécessaires mais sont souvent respectées sur AS400. Le nommage suivant est plus adapté à PDM, mais n'est en aucune manière impératif