Développement sous OS/400

Transcription

Développement sous OS/400
0S/400
Développement de formulaire avec l’éditeur SDA
ASR3
DUT info - niveau 1
Sujet 3 (TP) – 2011/2012
Département Informatique
Développement sous OS/400
Cycle
Comme vous l’avez vu pendant le cours, une application correspond uniquement au calcul et au stockage de données.
On peut simplifier cette définition en admettant qu’une application ne fait rien d’autre que manipuler des données. Pour
développer une application sous OS/400 trois étapes successives sont donc nécessaires :
1. définir la structure des données manipulées par l’application ;
2. définir les méthodes de saisie et d’affichage de ces données ;
3. définir les traitements à effectuer sur ces données.
Chacune de ces 3 étapes nécessite l’utilisation d’un langage spécifique ( DDS ou SQL pour l’étape 1, DDS pour l’étape
2, COBOL , CL , JAVA , etc. pour l’étape 3). On dit qu’on a besoin d’écrire les sources de chacune des 3 étapes de la
construction de l’application.
Chacune des trois étapes de ce cycle de développement a besoin d’un type d’objet particulier (de type *FILE pour l’étape
1 et 2, de type *PGM pour l’étape 3). La création de ces objets nécessite l’appel de commandes systèmes transformant les
sources écrit dans un des langages nécessaires vers un objet du type attendu. Ces commandes sont dites de compilation.
On les démarre généralement en traitement par lots (mode batch) via l’appel de la commande de compilation dans
SBMJOB ou plus simplement à travers certaines options de PDM .
Une fois les objets créés il ne reste qu’à démarrer l’application en exécutant le programme. Pour mémoire, la commande
permettant d’exécuter un programme est la commande CALL , qui, sous PDM , correspond à l’option 16.
Vous apprendrez à créer des sources définissant la structure des données et les sources des programmes dans d’autres
cours de votre formation (Analyse et Base de Données pour les structures, Algorithmique et Cobol pour les traitements).
Les méthodes de saisie et d’affichage des données se limiteront dans un premier temps à la création de descriptions
d’écran tel qu’un programme pourra les afficher sur votre terminal pour interagir avec l’utilisateur. Il s’agit en fait de
simple formulaires.
Outils
Sur l’OS/400 les seuls objets pouvant contenir les données manipulées par une application sont ceux de type *FILE
(les fichiers). Les fichiers peuvent également contenir des données nécessaires à la construction (sources) ou à l’exécution
d’une application (description d’écran, etc.). Pour différencier les natures des fichiers en fonction de leur contenu l’OS/400
utilise un attribut dans la description de ce type d’objet.
Pour créer des sources vous avez vu l’utilitaire SEU qui permet de rédiger n’importe quel source en utilisant un langage de
votre choix parmi ceux nécessaire.
Pour exécuter les transformations des sources (d’écrans ou de programmes) en fichiers ou programmes vous pouvez
appeler les commandes adéquates (CRTDSPF, CRTCBLPGM, CRTCLPGM, CRTJVAPGM, etc.). L’appel de ces commandes peut
être fait pour vous via l’utilitaire PDM (Program Development Manager). C’est cette dernière solution qui devra être utilisée
dans le déroulement de vos TP.
Il est hors de portée du cours de système d’apprendre le langage de description d’écran (DDS). Vous allez donc utiliser
l’utilitaire SDA (Screen Design Aid) qui permet de créer aisément des sources de description d’écran et de les transformer
en fichier adéquat (attribut DSPF) pour le déroulement de ce TP.
Écrans
Un écran est un mécanisme permettant à un programme et à un utilisateur de communiquer. Cela correspond à un
formulaire d’échange. Préparer un écran revient donc à préparer un formulaire.
1
Techniquement, un écran OS/400 est une succession de zones. Toutes les zones portent un nom et peuvent, de plus, avoir
des attributs d’affichages permettant une mise en valeur particulière lors de l’affichage de l’écran dans lequel elles sont
présentes.
Certaines zones sont constantes et correspondent à des informations non modifiables ni par l’utilisateur, ni par le programme.
Les zones non constantes sont dites variables. Elles permettent au programme de montrer des informations à l’utilisateur
(Output, ou Sortie), de demander des informations à l’utilisateur (Input, ou Entrée) ou les deux (Both). Le contenu d’une
zone variable peut être soit alphabétique, soit numérique en fonction des données auxquelles elles sont liées.
SDA permet de définir graphiquement un écran sans avoir à utiliser le langage source de description d’écran. Une fois un
source d’écran préparé, SDA permet de créer automatiquement le fichier contenant l’écran lui même (objet de type *FILE
et d’attribut DSPF).
D’un point de vue terminologique sous OS/400 un formulaire (le remplissage d’un écran de votre terminal) est appelé un
format. Les source des formats sont regroupés dans des images-écran au sein d’un membre d’un fichier.
Un fichier source (attribut PF-SRC ) peut donc contenir soit des sources de programme (un source de programme par
membre) soit des sources d’écrans (plusieurs formats dans un membre).
Exercice
Sauf indication contraire durant toute la durée de ce TP il est STRICTEMENT INTERDIT d’utiliser les commandes OS/400
autre que STRPDM . Vous ferez donc bien attention aux options de commandes offertes par PDM (notamment 12, 14, 16,
17, etc.) comme aux touches de fonctions actives ( F12 , F5 , etc.).
Exercice 1 : Un écran de base et son utilisation
Q 1. Créez un fichier source (attribut PF-SRC ) nommé SOURCES dans votre bibliothèque personnel.
Q 2. Copiez dans votre fichier SOURCES le membre CALC_AGE qui se trouve dans le fichier PUBLIC/ASR3.
Q 3. En utilisant la commande STRSDA, dans un membre nommé AGE de votre fichier SOURCES créez un format nommé
FORMAT1 correspondant exactement au schéma suivant (vous ne devez inclure dans le format ni le tour de l’écran ni les
règles horizontales et verticales qui sont juste des aides de compréhension du dessin) :
1
5
10
15
20
1
2
3
4
5
6
7
8
1
0
0
0
0
0
0
0
0
+--------------------------------------------------------------------------------+
|
AGE
|
|
|
|
NOM ____________________
|
|
|
|
PRENOM ____________________
|
|
|
|
DATE DE NAISSANCE ___ / ___ / _____
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Appuyer sur
|
|
ENTREE
|
|
pour continuer
|
|
|
|
|
|
|
|
|
|
|
|
|
+--------------------------------------------------------------------------------+
Au total votre format ne doit pas contenir plus de 12 zones. Les zones variables doivent avoir comme nom :
– VNOM (20 caractères)
2
–
–
–
–
VPRENOM (20 caractères)
VJOUR (2 nombres)
VMOIS (2 nombres)
VANNEE (4 nombres)
Q 4. Sauvegardez, compilez puis testez votre format.
Q 5. Compilez puis exécutez le programme CALC_AGE.
Exercice 2 : Modifications de base
Q 1. Créez un nouveau format nommé FORMAT1BIS en copiant votre format FORMAT1.
Dans la suite de l’exercice vous allez travailler sur le format FORMAT1BIS.
Q 2. Ajoutez en haut et à droite du format le nom du système en cours d’utilisation.
Q 3. Ajoutez en haut et à gauche du format la date courante.
Q 4. Déplacez la zone d’affichage du message d’appui sur la touche
Entrée
vers la position (40,10).
Q 5. Faites en sorte que cette zone soit entièrement écrite de couleur blanche.
Q 6. Copiez cette zone à la position (5,10). Est-ce possible ?
Q 7. Copiez cette zone en position (51,18).
Q 8. Enregistrez votre écran.
Exercice 3 : Écran de sortie
Q 1. Créez un format FORMAT2 à votre goût comportant au moins 1 zone de texte en sortie nommée VNOM (de 20 caractères)
et une zone numérique nommée AGE (de 6 chiffres).
Q 2. Recopiez le source du programme de l’exercice 1 dans votre fichier SOURCES sous le nom CALC_AGE2.
Q 3. Modifiez ce source en supprimant les lignes suivantes :
DCL
VAR(&AGE) TYPE(*DEC) LEN(6)|
SNDMSG
MSG(’Bonjour ’ *CAT &VPRENOM *CAT ’ ’ *CAT +
&VNOM *CAT ’. Vous avez ’ *CAT &CAGE *CAT +
’ ans.’) TOUSR(&CUSER)
Q 4. Ajouter à ce source comme dernière ligne, juste avant la commande ENDPGM, la ligne suivante :
SNDRCVF
RCDFMT(FORMAT2)
Q 5. Compilez puis exécuter le programme CALC_AGE2.
3