Introduction à RDI 7.




Fin BoTTom

RDI est un produit IBM venant completer 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 :

 

Découverte du produit

RDI 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 iSeries 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 (que nous utiliserons plus tard)

        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

  • un nom de profil :
    • par défaut, votre nom de PC
  • le nom de la connexion
  • le nom du système I5/OS à connecter (hôte) ou l'adresse IP.
  • Une description pour cette connexion
  • s'il faut vérifier que votre système est accessible maintenant .

 

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 :


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):

  1. la liste de bibliothèques à mettre en place (Addlible)
  2. la bibliothèque en cours (bib de création par défaut)
  3. une commande à lancer à la connexion
  4. Ainsi que les variables d'environnement à renseigner automatiquement.

Cliquons sur Objets Iseries

  • Vos bibliothèques...
    crée un filtre sur un nom (ou début de nom) de bibliothèque.
  • Vos objets...
    un filtre sur un nom d'objet (ou un nom gen* ou *ALL) dans une bibliothèque.
  • Vos membres...
    un filtre basé sur un nom de membre dans un fichier source.
  • Liste de bibliothèques permet de travailler à partir de *LIBL

• Filtre de bibliothèques

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 filtre

toutes 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 :

  • Nouveau
    • création d'un fichier source
    • création d'un fichier message
    • création d'une DTAQ
    • création dune DTAARA

  • afficher dans une table : afficher une liste (ici d'objets)

 



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 :

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
   (ici un source de type DSPF)



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 :

  1. &L la bibliothèque
  2. &N l'élement en cours (objet ou membre source)
  3. &F le fichier source
  4. &O la bibliothèque objets (de création)
  5. 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

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 :

 

  1. LPEX, éditeur de source interne à RDI
  2. Screen Designer, concepteur d'écrans propre à RDI

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 :

• 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 :

Chaque modification peut être annulée par CTRL+Z.

Le menu Edition propose (en plus des traditionnels CTRL+C / CTRL+V et CTRL+X .) :

  • Recherche et remplacement (CTRL+F)
  • Recherche multi-membres (CTRL+H)
    comme FNDSTRPDM!
  • Sélection de la totalité du source (CTRL+A)
  • Sélection avancée
  • A noter :
    • ALT+S, pour scinder une ligne en deux
    • ALT+J, pour joindre deux lignes en une seule
    • Ctr+backspace pour détruire la ligne en cours
      (suite à une insertion inutile, par Enter par exemple)

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).


ces expressions régulières utilisent des caractères spéciaux :

. (le point) représente n'importe quel caractère

* indique un nombre d'occurrences consécutives du caractère précédent ,ou du groupe entre ( ), précédent .

par exemple :

a* veut dire a ou aa ou aaa (etc...)
.*
veut dire n'importe quel caractères, x fois (x pouvant être zéro)

expr? : expr doit être présent entre 0 et x fois

expr+ : expr doit être présent entre 1 et x fois

expr1 | expr2: expr1 OU expr2 doit être présent

[abc] représente une série (ici un a, ou un b, ou un c)

[^abc] n'appartient PAS à la série

^ indique un début de ligne (^ab, si la chaîne ab est en début de ligne)

$ indique une fin de ligne

\ déspécialise le caractère suivant

ainsi "^fi[ic].*\.txt" recherche une ligne commencant par fi suivit de soit un i soit un c puis contenant plus loin .txt
(le deuxième point n'est pas une expression régulière à cause de \.)

• 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 :

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 :

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 perspectives et permet de la faire réapparaitre à tout moment.


• 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 :

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

V6 : Système distant/Editeur LPEX

propose enfin une sauvegarde automatique

en cas d'arrêt brutal, vous verrez

Templates (y compris SQL en V7)

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 :

Allez dans la vue "Explorateur de sources de données", sur le mot Base de données, cliquez droit et faites Nouveau

Choisissez bien sur DB2 for I5/OS et cliquez sur suivant

le pilote n'est configuré, il faut indiquer le bon driver, pour cela ajoutez par le bouton +

Choisissez AS/400 toolbox for java et indiquez les coordonnées du fichier jt400.jar

Il est présent dans SPDShared (et non SPD) \plugins\com.ibm.etools.iseries.toolbox_7.5.Xvaaaajjmmhhmmss\runtime\
(X étant le niveau de correctif, aaaajjmmhhmmss le niveau de compilation)

Validez, vous revenez à la fenêtre de création d'une source de données, la zone Pilotes est maintenant renseignée:

Indiquez profil et mot de passe, validez

Vous pourrez revenir sur les propriétés de cette source de données (clic droit/propriétés)

et indiquer :

Ensuite l'arborescence se présente comme ceci

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 se présente comme ceci :

 


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 RDI

Sinon, lancez votre émulateur habituel et tapez :



Indiquez dans

 

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 :

  • la commande (éventuellement paramétrée)
  • s'il faut afficher l'invite à l'exécution (la commande sera mémorisée :  ?commande )
  • l'environnement
    • Normale
      Exécution dans le JOB serveur répondant à RSE sur l'AS/400
    • par lot (SBMJOB)
    • Interactif (dans une session 5250)
      implique ce que nous sommes en train de voir

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 :

  • Déboger le JOB
    (voir le débogage avec RDI)
  • arrêter le job
    *CNTRLD ou *IMMED
  • suspendre/libérer
  • et voir la LOG

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 :

  • Système de fichiers montre les différents systèmes de fichiers montés à l'IPL.


  • Système de fichiers racine, travaille à partir de root ( / )


  • Accueil, à partir de /home

 

Vous pouvez bien sûr créer un nouveau filtre (c'est toujours le même principe)

  1. nommez le

  2. puis indiquez la chaîne de filtrage

  3. 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)

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.

(l'option s'appelle alors shells locaux)

 

Début Top


©AF400