Fin
RDI est un produit IBM venant compléter ADTS en Version 6.1
Il est basé sur ECLIPSE, un IDE en licence publique d' initiative IBM, comprenant :.
Au dessus d'éclipse, IBM vend un produit Rational Developer
il vous permet
RDI for SOA , est la version Iseries de ce produit.
RDI est une version simplifiée ne contenant pas les outils java, mais simplement ce qu'il faut pour développer RPG/COBOL :
options d'installation de RDP8
Découverte du produit
RDI/RDP affiche une fenêtre contenant des perspectives, chaque perspective contient des vues.
Une perspective correspond à un type de travail à réaliser (souvent un projet), comme :
La perspective active s'affiche en haut à droite,
pour passer
d'une perspective à l'autre , demandez la liste avec un
clic droit
La perspective affichée par défaut, dans le cadre d'une installation
Power System, s'appelle RSE, ceci dit les
autres sont bien disponibles et s'afficheront automatiquement en fonction du
type de projet des projets que vous allez créer (Fichier
/ Nouveau / Projet).
Voici ce que propose RDI
Par exemple, ouvrez (par Fenêtre/Ouvrir la perspective/Autres)
une perspective Développement de base de données .
Vous pouvez alors repasser à la
perspective RSE par
Perspective
RSE
(ou Explorateur de systèmes distants)
Au premier lancement du produit , vous verrez :
.
vous pouvez fermer la page d' accueil, vous la ferez
réapparaître à tout moment par :Aide/Bienvenue
Sinon, il se peut que RDI vous demande l'emplacement
de l'espace de travail (workspace), voir préférence/Démarrage et
arrêt
la première tâche, va consister à
définir une nouvelle connexion , ici IBM i.
RDI va vous demander (la première fois), un nom de profil. Ce profil
vous permet de partager vos définitions lors d'un travail en équipe.
puis indiquez
|
![]() |
vous remarquerez les propriétés de cette connexion dans la fenêtre basse à gauche
![]() |
, cette fenêtre affiche toujours les propriétés de l'élément actif. |
Vous pouvez définir un utilisateur par défaut :
- à un niveau général (Fenêtre/préférences/systèmes distants)
- pour un système (clic droit sur le système puis option "propriétés")
![]()
- Vous pourrez aussi définir les options générales pour ce système
![]()
- Bibliothèque de création
- Options de compilation (remplacement, soumission, JOBD)
- Options d'exécution (soumission)
- Ainsi que les options de connexion :
![]()
- Bibliothèque(s) à ajouter à *LIBL
- *CURLIB
- Commande à lancer lors de l'établissement de la connexion
Vous verrez ensuite dans la fenêtre "systèmes distants" ce que RDI appelle des sous-systèmes (rien avoir avec les objets *SBSD). | ![]() |
L'option Objets iSeries, propose de vérifier les PTF.
![]()
le produit vérifie les PTF sur le serveur, après vous être connecté.
![]()
Sur chaque "sous système" , vous pourrez paramétrer votre connexion à l'AS/400
![]()
Particulièrement (comme sur les propriétés du système):
- la liste de bibliothèques à mettre en place (Addlible)
- la bibliothèque en cours (bib de création par défaut)
- une commande à lancer à la connexion
- Ainsi que les variables d'environnement à renseigner automatiquement.
Cliquons sur Objets Iseries
![]() |
|
• Filtre de bibliothèques
- Entrez d'abord la chaîne de filtrage (nom générique, comme PDM)
la grande différence par rapport à PDM, c'est que vous pouvez mémoriser plusieurs chaines consécutives.
en revenant sur les propriétés de ce filtretoutes les bibliothèques commencant par PAI (PAI*) et celles commencant par CPTA (CPTA*), etc ...
Le filtre est ajouté :
![]()
et à la première utilisation, il faut vous signer (l'utilisateur peut être déja renseigné)Voilà le résultat
, remarquez la hiérarchie bibliothèque/objets/membres
• Un filtre Objets
Vous pourrez parcourir la liste de bibliothéques, d'objets et de types
vous pouvez aussi être sélectif le couple type / attribut (option Autres Types)
Encore une fois vous pourrez ajouter des chaînes de filtrage ensuite, par l'option propriété
résultat (tous les objets de la bibliothèque FORMATION9)
![]()
• Un filtre Membres
Là aussi, Autre types permet d'être plus précis
Résultat (tous les membres source des fichiers Q* de FORMATION9)
![]() |
• enfin l'option Liste de bibliothèques vous permet de travailler à partir de *LIBL
tout en offrant la possibilité de descendre au niveau objet puis membre :
![]() |
![]() |
Vous pouvez aussi passer directement des commandes I5/OS, en utilisant la fenêtre Historique des commandes :
Si la ligne de commande n'apparait pas, utilisez le triangle tête en bas pour accèder au menu et la faire apparaitre.
Tapez ensuite votre commande dans la zone de saisie :
les messages seront affichés dans la partie principale, suite à l'exécution :
Pour chaque élément, vous
remarquerez la
fenêtre propriétés : (ici l'élément actif est une bibliothèque, contenant 99 objets) |
![]() |
Sur chaque élément, un menu contextuel est proposé (avec un clic droit)
Sur une bibliothèque : |
|
ces fenêtres peuvent être déplacées, de manière flottante :
ou au contraire en superposition (cela génère alors un nouvel onglet )
pour revenir à l'affichage par défaut :
, il faut ensuite confirmer.
Retournons au menu contextuel :
- sur un objet simple
l'option propriété affiche l'équivalent de la commande DSPOBJD :
![]()
le texte est modifiable (CHGOBJD)
![]()
![]()
infos disque, donne les informations de taille et de sauvegarde.
Infos source et service, les coordonnées source et le niveau de compilateur, quand cela est possible.(pgm, etc...)
- sur une commande
- sur un programme
- sur un fichier
Liste des zones :
ici un fichier physique ou TABLE SQL | ici un DSPF. |
![]() |
![]() |
depuis la V7 : affichage du contenu des fichiers physiques
Toujours dans la vue table (en bas à droite)
A NOTER que pour les DSPF, l'arborescence (de l'objet) affiche aussi la liste des formats et des zones :
![]() |
et dans la fenêtre
propriétés, le
détail d'une zone![]() |
La liste des modules et des procédures ou fonctions, pour un pgm ILE
enfin, sur un membre source |
![]() |
RDI propose une la vue "TABLE Iseries", offrant un affichage et des options proches de PDM :
Choisissez Gestion puis liste de bibliothèques ,d'objets ou de membres .
(ici, membres)
Tapez directement vos critères (il ne sont PAS sauvegardés)
la liste vous est affichée (dans le cadre en bas à droite, l'explorateur RSE reste affiché et inchangé)
un double clic sur la barre de titre passe la fenêtre en plein écran
(un autre double clic, la repasse en mode fenêtré)
Sur cette vue ,vous pourrez
![]()
C'est à dire filtrer
et vous positionner
Le bouton
, permet de remonter d'un cran (des membres aux objets ou des objets aux bibliothèques),
![]()
un double clique sur une bibliothèque affiche sont contenu (même chose pour les fichiers sources)
Ce bouton () rafraîchit le fenêtre, ceux là (
) permettent d'afficher la liste précédente ou suivante .
Le bouton(s'il est inactif), rend cette fenêtre sensible au choix fait dans l'explorateur RSE
![]()
Les options disponibles sont les suivantes :
ainsi que VOS options personnalisées (comme PDM, avec les mêmes variables de substitution)
Ceci est valable aussi dans les filtres RSE, sous le même nom : Interventions de l'utilisateur
Vous retrouverez ici toutes les variables de substitutions PDM, particulièrement :
- &L la bibliothèque
- &N l'élement en cours (objet ou membre source)
- &F le fichier source
- &O la bibliothèque objets (de création)
- Ctrl+Espace lors d'une saisie vous affiche la liste complète
Le bouton Modifier ou Editer permet de créer vos propres types de ressources (ensemble de types de source)
![]()
![]()
Ce dernier apparait maintenant sur la fenêtre Gérer les actions de l'utilisateur
Et voilà !
Autres options disponibles
- une gestion complète de *LIBL:
- mise en place de *LIBL à la connexion
- sur une série de bibliothèques, option AJOUT à *LIBL
![]()
![]()
- le filtre "liste de bibliothèques" propose une édition de la liste
![]()
- Développer vers, propose d'afficher un contenu sélectif
(un double clic affiche le contenu entier, ce qui peut être long)
- le drap & drop (glisser, déposer) est admis
- Sur une même machine pour les objets et les membres sources
- Sur une machine différente, mais uniquement pour les membres sources
- de nouveaux type d'objets sont gérés.
- à la création : MSGF, DTAQ et DTAARA
- en gestion , particulièrement les fichiers messages :
![]()
Modifier... lance la commande CHGMSGD pré-paramétrée.
- en cliquant directement sur un sous système ("Objets Iseries" par exemple) , nous pouvons
- modifier notre mot de passe
- lancer une commande (toujours avec invite)
Enfin RDI 7.1 et 7.5 propose une option qui n'était présente que dans la version Advanced de WDSc
l'organigramme des enchainements de programmes
Qui affiche, les pgm appelés, les sous-programmes et les sous-procédures pour un source
![]()
CVTSPLSTMR et QSPGETSP
sont des modules dont le source est disponible
QSPCLSP, QMHSNDPGM sont des API système
(pas de source)
CVTSPLSTMR possède 13 sous-routines
(S/pgm ou procédures), donc 13 noeuds
L'onglet Propriété (à droite) donne du détail
Général
Liste des S/pgm
Sources inclus (/COPY)
Vous pouvez demander du détail en cliquant sur l'icone +
Vous verrez alors,![]()
Les options disponibles, sont :
![]()
Editer un membre source
pour éditer un membre source, pointez votre source dans l'arborescence et choisissez :
![]() |
|
regardons le fonctionnement de LPEX :
il affiche une colorisation syntaxique et fonctionne (par défaut) comme SEU. [voyez Fenêtre/Préférence/LPEX editor]
les ordres admis sont I (insertion) D (suppression), C (copie), M (move) et A/B (After/Before) , etc..
, ce qui donne
• Pour vous déplacer, vous pouvez utiliser :
- le déplacement curseur
- les touches page suivante/page précédente
- la touche Fin (fin de ligne) et Origine (début de ligne)
- Ctrl + Fin (fin de document) / Ctrl + Origine (début de document)
- la tabulation
- sur un langage en format libre, cela vous décale de 10 caractères.
- mais pour un langage colonné (SDD, RPG) la tabulation tiens compte des colonnes :
![]()
![]()
- Vous pourrez aussi utiliser la ligne de commande interne à LPEX en appuyant sur ECHAP :
![]()
- add n ajoute n lignes à la position curseur
- locate line nn, positionne à la ligne n° nn
- etc ...
pour avoir le détail des actions possibles (attention , elles ne sont pas toutes utilisable dans l'environnement AS/400) demandez à voir l'Aide .
- Une autre manière de vous déplacer est de créer des marques afin de revenir rapidement à une position précise
- Marque rapide (il ne peut en exister qu'UNE par fenêtre LPEX)
A la position curseur, choisissez dans le menu Edition
![]()
pour revenir à cette position (menu Edition)
![]()
- Marque nommée (sans limitation de nombre), même menu :
saisissez alors le nom de la marque
![]()
Pour y revenir, choisissez Rechercher marque, puis tapez son nom :
![]()
• F4 (ou Shift+F4) affiche l'invite, c'est à dire une aide à la saisie (ici sur du RPG4)
et fonctionne aussi avec du CL, par exemple : F4 sur une commande DCL dans un CLP
il s'agit d'une classe JAVA (la même que sous Operation Navigator) qui utilise une API OS/400 retournant la description de la commande au format XML
(voir QCDRCMDDD sur Information Center).
Dans l'éditeur remarquez en haut , la première ligne de la fenêtre d'édition
qui vous indique :
- la position du curseur
- si vous êtes en mode refrappe (Ecrasement) ou Insertion.
- le nombre de modifications effectuées.
Chaque modification peut être annulée par CTRL+Z.
Le menu Edition propose (en plus des traditionnels CTRL+C / CTRL+V et CTRL+X .) :
![]() |
|
Exemple de sélection d'un rectangle:
vous pouvez ensuite :
un double clic sur un mot, sélectionne le mot en question :
• recherche par CTRL+F (échap. efface cette fenêtre) :
remarquez la case Expression régulière , qui permet des recherches avancées (comme sur Unix).
• recherche par CTRL+H (sur une bibliothèque !)
la fenêtre suivante s'affiche dans la zone de contrôle (en bas à droite)
![]() |
Double clic sur une occurrence, ouvre le source et positionne le curseur sur la ligne
• et enfin, les options de comparaison :
choisissez "Editer/Comparaison" :
(dans notre exemple, nous visualisons un TP donné aux stagiaires, quelques lignes sont à remplir)puis sélectionnez le membre source à comparer
(le source choisi est le corrigé)
les différences sont alors affichées :
- les lignes identiques sont affichées normalement (sur fond blanc)
- en jaunes les lignes (modifiables) du source actuel non présentes dans le source comparé (le TP, donc).
- en rouges (non modifiables et sans n° de ligne) les lignes sources du fichier comparé (le corrigé !).
pour passer d'une différence à l'autre :
L'option effacer, reviens à l'affichage du premier source uniquement.
Si vous éditez plus d'un source, les fenêtres sont affichées en superposition (
) et non en cascade. Pour déplacer une fenêtre soyez attentif au pointeur de la souris :
votre fenêtre viendra en superposition de la fenêtre que vous survolez (un onglet permet de passer de l'une à l'autre)
votre fenêtre va venir s'incruster dans le plan de travail en dessous de la fenêtre (ou au dessus si c'est un flèche vers le haut)
par exemple, nous cherchons à afficher deux sources en même temps l'un en dessous de l'autre (facon F15 sous SEU)
tant que nous survolons la fenêtre de l'éditeur, le pointeur indique un affichage en superposition
mais quand nous arrivons à l'intersection des deux fenêtres (ici, entre éditeur et vue table) le pointeur nous indique un déplacement possible.
résultat :
en version 6, vous pouvez ouvrir deux fois le même source
puis
D'autres options :
• Vérification de syntaxe
![]()
Vous pouvez demander (option Fenêtre/Préférences) à voir en plus un résultat sous forme de listing :
ce qui vous affiche
![]()
• Affichage du source indenté (dans une fenêtre à part, non modifiable)
![]()
par contre vous pouvez demander un affichage rapide pour cette fenêtre,
clic droit sur la barre de titre, la fenêtre est alors masquée,
mais une icone apparait dans la liste des perspectiveset permet de la faire réapparaitre à tout moment.
- Ctrl+maj+O, dessine la structure (début et fin de boucle), dans la marge
- Ctrl+maj+M, va à l'instruction de début ou de fin correspondante
- sur un IF, cherche le ENDIF et positionne le curseur
- sur un ENDDO, cherche le DO (DOU ou DOW)
- etc...
- F3, affiche le source d'une déclaration
- F3 sur un nom de procédure, va au code de la procédure
- F3 sur un nom de sous programme, va au code du sous programme
- etc...
• Ctrl+Espace, pour obtenir l'assistant de contenu , qui vous affichera en fonction du contexte
la liste des ordres ou des fonctions (intégrées au langage ou vos propres fonctions)
ou bien la liste de vos variables
• si la ligne active est une spécif F, vous pouvez demander à voir la liste des zones dans une fenêtre TABLE
Mais vous pouvez aussi obtenir cette liste dans la fenêtre structure (complétement à droite)
Ainsi que la liste des DS, des champs, des indicateurs, des paramètres et des sous programmes
(un clic, vous transfert sur la ligne de déclaration)
Affichage de la structure aussi pour le langage SDD
Et des labels et les sous programmes en CL
• Contenu d'un /COPY
• Filtrer la vue (affichage partiel, utiliser l'option afficher tout pour annuler)
• Sous programmes
![]()
Utilisez ensuite les boutons + pour naviguer
![]()
• Instructions SQL
• Contrôles
![]()
• Aide contextuelle
F1, le curseur positionné sur CHAIN sur un source RPG, affiche l'aide associée.
Paramétrage et personnalisation du produit et de l'éditeur LPEX :
Le paramétrage se fait par Fenêtre/Préférences
• Options de comparaison de deux sources
• Options d'impression de source
• Options de recherche
• Système distant/Iseries/ Analyseur d'éditeur LPEX
.
ICI vous trouverez des informations importantes concernant l'edition de source :
- affichage ou non de la zone date (par défaut : non)
- Edition en fonction de la colonne , permet des insertions respectant le colonage RPG
- Ajout de signature (insertion d'un identifiant de modification)
- Renumérotation automatique lors de la sauvegarde ou non
- Vous trouverez également du paramétrage par langage édité
- CL
![]()
notez le lien vers Information center (version Anglaise)
- ILE/RPG 4
Remarquez
- la saisie automatique en majuscules
- le comportement de la touche Entrée (répétition d'une partie de la spécif / positionnement)
- la possibilité de définir vos propres tabulations
- GAP III
• Système distant/Iseries/ cache , indique les paramètres de mise en cache de l'invite des commandes
• Système distant/Iseries/ Options d'exécution de commandes
![]()
• Système distant/Editeur LPEX
propose enfin une sauvegarde automatique
en cas d'arrêt brutal, vous verrez
Templates (y compris SQL)
- Définissez vos modèles par "Fenêtre/préférence", puis "Système distants/Editeur LPEX/Ile RPG/Modèles"
![]()
- Inserez les ensuite par Ctrl+espace, (il sont en fin de liste)
![]()
Et depuis RDI, formatage du SQL dans le RPG en format libre (/free)
Compiler un membre source
pour compiler un membre source, utilisez l'option suivante (toujours clic droit)
un DSPF (un seul choix)![]() |
Un SQLRPGLE (choix multiples)![]() |
Gérer les commandes, permet de gérer la liste des commandes associées à un type de source
Si vous choisissez Interroger (Demander) (et non Compiler)
Option *EVENTF, va générer un événement (une notion purement CODE/400 reportée à RDI) afin de prévenir le produit que la compilation est terminée (elle est soumise par défaut) . Vous verrez alors :
le message d'erreur si la commande n'a pas aboutie
ainsi que la liste détaillée des erreurs
![]() |
Un double clic sur l'une des erreurs, lance LPEX et affiche l'erreur dans son contexte. |
enfin, si la compilation se passe bien vous verrez :
Une fenêtre vide![]() |
OU la liste des messages d'info.![]() |
Si vous avez ajouté vos propres commandes de compilation elles doivent contenir deux chaînes de caractère pour que cette fenêtre s'affiche :
- *EVENTF
- SRCMBR(le_nom_du_source)
et elles doivent générer un fichier EVFEVENT dans la bibliothèque de création avec un membre portant le même nom que le source
Si le fichier EVFEVENT n'est pas bien localisé , vous pouvez forcer un modifiant la *LDA
- de 1 à 10 : la bibliothèque contenant le fichier EVFEVENT
- de 11 à 20 : le membre source
Enfin, la gestion des messages d'erreur suite à compilation est plus simple, au fur et à mesure des versions:
Voir la base de données
La perspective Explorateur de systèmes distants ne permet pas de travailler avec la base de données, utilisez plutôt Développement de base de données :
Contrairement aux version précédentes, vous n'aurez pas à définir les Driver JDBC pour System i, ce dernier est proposé par défaut
Cliquez sur Connexion base de données / Nouveau... et choisissez DB2 for I5/OS
L'écran suivant permet de filtrer la liste des objets et/ou des Bibliothèques affichées
![]()
Vous pourrez revenir sur les propriétés de cette source de données (clic droit/propriétés)
et indiquer :
un nouveau nom (Général)- des filtres d'affichage
- pour les procédures cataloguées et les tables (pour exclure les fichiers sources, par exemple)
- pour les schémas (bibliothèques) , sinon vous les verrez toutes
Ensuite l'arborescence se présente comme ceci
le nom de connexion
- Catalogues
- le nom de base de données (WRKRDBDIRE)
- les schémas (bibliothèques)
- les objets base de données
Sur un nom de table vous pourrez réaliser les actions suivantes :
l'option exemple de contenu affiche les 50 premières lignes
, dans la vue Explorateur, ce bouton affiche la vue Testeur de code SQL
Saisissez un ordre SQL valide, puis (clic droit)
Execution affiche le résultat dans la même vue que l'exemple de contenu
Le générateur de requête (Alt+Q) se présente comme ceci :
Faire un clic droit pour ajouter une table à l'affichage- Utiliser le glisser/déposer pour faire les jointures (un double clic sur le trait permet de paramètrer le type de jointure)
- Cochez les colonnes que vous souhaitez voir
- Validez, vous retournez à l'étape précédente.
Passer des commandes
Pour passer des commandes utilisez l'option Commandes Iseries
ici, nous cliquons sur ajouter une bibliothèque, ce qui nous affiche l'invite (comme vu plus haut)
plus surprenante est la possibilité de lancer une commande dans un session 5250.
pour cela il faut lancer une session
(WDSc V4 fournissait un petit émulateur 5250 écrit en java, qui disparaît en V5, mais voyez le plug-in gratuit d'ARCAD Software)
![]()
Astuce : la touche échap, remplace la touche Aide, F1 lancant l'aide de RDISinon, lancez votre émulateur habituel et tapez :
Indiquez dans
- CONNECTION NAME, le nom de votre connexion dans RSE
- REMOTE LOCATION NAME, le nom ou l'adresse IP de votre PC
La session 5250 est alors monopolisée et aux ordres de RSE (du client/serveur à l'envers).
Lancons ensuite une nouvelle commande
(cliquez sur commandes iSeries/Nouveau/Jeux de commandes...)
avec le bouton ajouter, indiquons la commande à lancer (vous remarquerez que l'on peut en enchaîner plusieurs)
Il faut indiquer :
|
Ensuite, nommez ce jeu de commande(s) ou filtre (vous pourrez ajouter d'autres commandes à ce filtre )
au lancement, il vous sera affiché :
effectivement, dans la session 5250
tout cela sera bien pratique pour les commandes interactives, les tests de pgm utilisant un DSPF et le debug..
En cas d'erreurs, celles-ci vous sont affichées comme suit :
![]()
• Pour rendre disponible la session 5250 (couper le lien avec RSE) :
Gérer les travaux
Pour gérer les job sur AS/400, prenons l'option suivante dans l'arborescence :
Vos travaux actifs affiche les travaux où vous êtes l'utilisateur EN COURS... |
![]() |
Vos travaux affiche les travaux où vous êtes l'utilisateur de démarrage (comme WRKUSRJOB) |
![]() |
A partir de là, vous pouvez :
|
![]() |
cette dernière vous est affichée dans la partie basse de l'écran:
• Pour créer un nouveau filtre :
Indiquez vos critères :
![]() affichage initial |
![]() exemple |
Puis il faut nommer le filtre
Résultat :
Vous aurez la même possibilité de gestion des interventions utilisateur
Gérer les fichiers IFS
Pour gérer les fichiers stream, utilisons la dernière option :
![]() |
|
![]() |
|
![]() |
|
Vous pouvez bien sûr créer un nouveau filtre (c'est toujours le même principe)
- nommez le
- puis indiquez la chaîne de filtrage
![]()
- Résultat
![]()
Quand vous cliquez sur un fichier, cela lance l'application PC qui est associée à l'extension.
(IE ou Netscape pour .htm et .html, notepad pour .txt , etc...)
là aussi des actions peuvent être mémorisées :
(remarquez le type commandes Shell (comme QSH), permettant de passer des commandes type Unix
voici ce qu'affiche l'invite (ici la commande jar qui "zip" un fichier)
Passez des commandes Qshell
Vous pouvez passer des commandes QSHELL (comme STRQSH, des commandes Unix donc)
- sur iSeries, en demandant avec un clic droit, Lancer le shell
détail, si vous passez la commande ls qui vous affiche les répertoires, vous pouvez cliquer sur ces derniers pour passer la commande cd.
- sur votre OS local (Commandes DOS sous Windows) en faisant la même manipulation sur la connexion Local
(l'option s'appelle alors shells locaux)
RDP V8 : voir vos spools
©AF400