Transcript

Environnement de développement graphique pour IBM i

Tutoriel SilverDev Créez une grille et son menu pop-up en RPG avec le Designer

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 2 / 23

Etapes :

1. Création du programme ................................................................................................................................ 3 2. Ajout d’une grille ........................................................................................................................................... 6 3. Assistant base de données ............................................................................................................................ 8 4. Ajout d’un menu Pop-up ............................................................................................................................. 10 5. Sauvegarde et compilation de l’écran ......................................................................................................... 12 6. Source RPG : créer les événementsOnClick ................................................................................................ 13 7. Quelques outils supplémentaires ............................................................................................................... 16 8. Source complet : ......................................................................................................................................... 17 9. Compilation du source RPG......................................................................................................................... 19 10. Création d’un CLP de lancement ................................................................................................................. 20 11. Première mise à disposition ........................................................................................................................ 21 12. Résultat ....................................................................................................................................................... 22

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 3 / 23

ATTENTION Pour suivre les étapes du tutoriel, vous devez avoir installé au préalable SilverDev sur votre AS/400.

Une version d’essai est disponible en téléchargement sur le site de l’éditeur : http://www.silverdev.com/silverdev-free-trial.php

1. Création du programme

Lancez SilverDev Designer et sélectionnez une bibliothèque à partir du menu Outils > Contexte.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 4 / 23

Créez votre nouveau programme à partir de l’icône « + » dans l’onglet de votre contexte :

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 5 / 23

Le nom du programme apparaît dans la liste de l’onglet contexte.

Double-cliquez dessus pour l’ouvrir.

Le source et l’écran apparaissent. Le source est pré-enregistré.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 6 / 23

2. Ajout d’une grille

Dans l’onglet Composants, cliquez sur le composant CSFL , puis cliquez sur votre fiche en construction pour le placer :

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 7 / 23

Sélectionnez le composant CSFL (des carrés noirs l’entourent) et utilisez la fenêtre outil « Inspecteur » pour modifier ses propriétés.

Modifiez la propriété Align : La valeur alClient lui permet d’occuper tout l’espace du parent, ici la fiche

Conseil : Pour avoir de l’aide sur le composant CSFL, sélectionnez le composant, et appuyez sur F1.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 8 / 23

3. Assistant base de données

Pour ajouter des colonnes au composant CSFL, vous pouvez double cliquer sur le composant, mais nous allons utiliser un outil pour importer automatiquement les colonnes depuis un fichier de base de données. Utilisez ce bouton dans la barre d’outils pour afficher l’onglet « Assistant base de données »

Dans L’onglet « Assistant base de données », utilisez l’onglet recherche pour trouver le fichier SDDMBKS (validez avec Entrée) La liste des fichiers correspondants sur le serveur est affichée.Double-cliquez sur le nom du fichier pour en afficher les caractéristiques

Dans la nouvelle fenêtre qui apparaît, sélectionnez ensemble (en maintenant appuyée la touche Ctrl) les champs IDBOOK, TITLE, et PRICE et faites les glisser vers la fiche en construction

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 9 / 23

Une fenêtre apparaît vous demandant ce que vous souhaitez faire. Gardez le choix par défaut « Ajouter à la grille » et cliquez sur ok

Trois colonnes ont été crées dans le composant CSFL. Les propriétés de ces colonnes ont été modifiées en fonction des champs du fichier.

Vous pouvez re-modifier les propriétés de ces colonnes si vous le souhaitez.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 10 / 23

4. Ajout d’un menu Pop-up

Nous créons maintenant le menu pop-up qui s’affichera suite à un clic droit sur une ligne de la grille.

Dans l’onglet « Composants » sélectionnez le composant CPopupMenu, et posez-le sur la fiche

CpopupMenu est représenté par un carré. Double-cliquez sur le carré pour ajouter des

éléments à ce popup menu.

Dans la fenêtre qui apparaît, effectuez un clic droit puis cliquez sur « Nouveau » pour créer un élément du menu.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 11 / 23

Utilisez l’inspecteur pour modifier les propriétés de l’élément de menu : - La propriété Name : appelez-le itemRefresh. - La propriété Caption : en « Rafraîchir »

Sélectionnez à nouveau le composant CSFL, et modifiez sa propriété PopupMenu avec la valeur PopupMenu1 correspondant au menu que nous venons de créer. Lors d’un clic droit sur le composant CSFL, ce menu contextuel PopupMenu1 s’affichera.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 12 / 23

5. Sauvegarde et compilation de l’écran

Sauvegardez le source de l’écran en utilisant le menu Fiches / Enregistrer Fiche, ou ce bouton en

barre d’outils :

Compilez l’écran en utilisant le menu Fiches / Compiler Fiches, ou ce bouton en barre d’outils :

Choisissez pour l’objet compilé le nom TUTO1 dans la bibliothèque SILVERDEMO.

Comme vous pouvez le voir ci-dessous, l’écran est un objet de type *USRSPC

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 13 / 23

6. Source RPG : créer l’événement OnClick

Nous déclarons tout d’abord la table de livres :

Dans le bloc RPGSPCIF réservé aux déclarations de fichiers, déclarez le fichier SDDMBKS

Vous pouvez également faire glisser le nom du fichier vers le source depuis les résultats de recherche.

Utilisez F8 pour faire apparaître la règle

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 14 / 23

Puis nous ajoutons l’événement OnClick à l’élément de notre menu Popup, itemRefresh

Astuce : Faites F10 pour passer du source à l’écran, et inversement.

Sur l’écran, double-cliquez sur le composant CPopupMenu et sélectionnez l’élément de menu itemRefresh. Dans l’onglet Inspecteur / Evénements, sélectionnez l’événement OnClick

Double cliquez sur la ligne OnClick pour créer l’événement :

le curseur est alors placé dans le source dans l’événement itemRefresh_Onclick.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 15 / 23

Dans l’événement itemRefresh_OnClick, nous effectuons une lecture du fichier sddmbks et remplissons le composant CSFL :

Notes : les mots en violet sont des fonctions fournies avec SilverDev permettant de manipuler les composants depuis le programme RPG. En cours de saisie, pour avoir la liste des fonctions SilverDev, tapez Ctrl+Espace pour faire apparaître la liste des fonctions correspondant au début du mot en cours de saisie.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 16 / 23

7. Quelques outils supplémentaires

Touche F2 : affiche la liste des composants et propriétés de la fenêtre dans une arborescence. Entrée : insertion d’un nom de composant ou de propriété

Touche F4 : ouvre une fenêtre d’invite d’un format

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 17 / 23

8. Source complet :

// *===============================================================*

// * Title . . . : *

// * Author . .ADUVAL *

// * Date . . .2014-10-21 *

// * Project . . : *

// * Description : *

// * *

// * *

// * -Technical data-----------------------------------------------*

// * *

// * Main SDF .*LIBL/TUTO1 *

// * *

// *===============================================================*

*/BLOCK RPGSPCIH

// -------------- RPGSPCIH : H specifications (Heading)

*/BLOCK RPGSPCIF

// -------------- RPGSPCIF : Files declarations (F Spec.)

FSDDMBKS if e k disk

*/BLOCK RPGSPCID

// -------------- RPGSPCID : Data descriptions (D Spec.)

*/BLOCK RPGSPCII

// -------------- RPGSPCII : Input descriptions (I Spec.)

*/BLOCK RPGPARM

// -------------- RPGPARM : Program parameters and declarations (KLIST, DEFINE, ...)

*/BLOCK RPGPGMSTART

// -------------- RPGPGMSTART :Begining of Initializations procedure

*/BLOCK RPGBEFORECREATE

// -------------- RPGBEFORECREATE : just before form creation

*/BLOCK RPGAFTERCREATE

// -------------- RPGAFTERCREATE : After form creation

*/BLOCK RPGBEFORESHOW

// -------------- RPGBEFORESHOW: Before show(F1)

*/BLOCK RPGAFTERSHOW

// -------------- RPGAFTERSHOW : After show(F1)

*/BLOCK RPGPROCDEF

// -------------- RPGPROCDEF : User procedures

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 18 / 23

*/BLOCK RPGSR

// -------------- RPGSR : Sub Routine

*/BLOCK RPGTABLE

// -------------- RPGTABLE : Compile time array data (**)

*/EVENT itemRefresh_OnClick

‚* --------------------------------------------------------------*

‚* Description :

‚* --------------------------------------------------------------*

D Parameters ds based(pevtinf)

D Win 5u 0

D Evt 48a

‚*

D row s 10u 0

ccallpsdClear(F1:'SFL1')

C *lovalsetllsddmbks

c read sddmbks

cdow not %eof(sddmbks)

ceval row = row + 1

ccallpsdSetCell(F1:'SFL1':'Title':Row:Title)

ccallpsdSetCellNum(F1:'SFL1':'Price':Row:price)

ccallpsdSetCellNum(F1:'SFL1':'idbook':Row:idbook)

c read sddmbks

cenddo

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 19 / 23

9. Compilation du source RPG

Enregistrez les modifications faites dans le

source avec le bouton signalé ci dessous ou avec le menu « Membres/Enregistrer membre »

Compilez le programme avec le menu « Compilation / Générer

programme ».

Une boîte de dialogue vous signale les éventuelles erreurs de compilation : cliquez sur OK.

Les résultats de compilation apparaissent en gras dans cette nouvelle fenêtre. Double cliquez sur une ligne pour accéder à l’emplacement dans le source.

Lorsqu’il n’y a plus d’erreur, le programme est créé dans SILVERDEMO.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 20 / 23

10. Création d’un CLP de lancement

Nous allons créer un programme CL CTUTO1 qui ajoute SILVERDEMO en liste de bibliothèque et lance le programme TUTO1.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 21 / 23

11. Première mise à disposition

Pour mettre l’application à disposition des utilisateurs, vous devez être administrateur. Vérifiez que votre profil est dans le fichier PSVDADM. Lancez MyDesk et placez-vous à l’endroit où vous souhaitez mettre à disposition votre nouvelle application. Faites un clic-droit puis « Nouvelle application » Remplissez la boîte de dialogue qui apparait avec le nom de la nouvelle application, le nom du fichier et la commande CALL. Dans la fenêtre suivante, sélectionnez qui est autorisé à lancer votre application.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 22 / 23

12. Résultat

Votre application est prête : double-cliquez sur son icône pour l’ouvrir. Votre grille apparaît vide. Faites un clic droit pour accéder à l’élément rafraîchir de votre menu popup

Votre grille est remplie : vous pouvez trier les éléments en cliquant sur l’en-tête des colonnes.

Tutoriel SilverDev – Créez une grille et son menu pop-up en RPG avec le Designer

Experia -- Tous droits réservés -- 23 / 23

Plus d’informations sur www.silverdev.com

Notice relative aux droits d'auteurs.

Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager EXPERIA. La fourniture du progiciel est régie par un octroi de licence ou un accord de confidentialité. Le progiciel ne peut être utilisé, copié ou reproduit sur quelque support que ce soit que conformément aux termes de cette licence ou de

cet accord de confidentialité. L'acheteur ne peut effectuer des copies que dans le but de sauvegarde ou d'archivage. Aucune partie du manuel et du progiciel ne peut être reproduite ou transmise par quelque moyen que ce soit, électronique ou mécanique, y compris par photocopie, enregistrement ou tout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts que l'usage personnel de l'acheteur sans permission expresse et écrite de la société EXPERIA.

SilverDev est une marque déposée d’EXPERIA Europe

IBM, AS/400, iSeries, System i, i5, Power I sont des marques déposées de International Business Machines Corporation. Windows est une marque déposée de Microsoft.

Tous les autres produits sont des marques déposées de leur société respective.

EXPERIA Europe 4, rue L.Beridot

Les jardins d'Epione 38500 VOIRON - FRANCE

www.experia.com [email protected]