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