Introduction à WDSc V7.
(Websphere Dev. Studio CLIENT V7.0.1)




Fin BoTTom

WDSc est un produit IBM faisant partie du produit 5722WDS

Il est basé sur ECLIPSE, un IDE en licence publique d' initiative IBM, comprenant :.

Au dessus d'éclipse, IBM vend un produit WSSD , successeur de Websphere studio et de VisualAge pour JAVA.

il vous permet

WDSc, est la version Iseries de ce produit, livrée en V7 en cours de V5R40 de l'OS/400 et comprenant :

 

Découverte du produit

WDS Client 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 >>

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 WDSc lite

Par exemple, ouvrez (par Fenêtre/Ouvrir la perspective/Autres) une perspective ressources

Créez un projet, (Nouveau/Projet, projet dans l'option Général)

Ajoutez un fichier XML (clic droit sur le projet/Nouveau/Autres)

vous pouvez alors l'éditer, (il y a un éditeur XML intégré à WDSc)


        puis repasser à la perspective RSE, etc...



Perspective RSE
(ou Remote System Explorer)

 

A chaque lancement, le produit vous laisse le choix de l'endroit de stockage de l'espace de travail

Cochez la case pour ne plus voir cette fenêtre

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

  la première tâche, va consister à définir une nouvelle connexion , ici Iseries.

WDSc 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 :
    • le votre si vous souhaitez ne pas partager cette définition
    • Team (qui existe en standard) dans le cas contraire
  • le nom de la connexion et le nom du système AS/400 à connecter (hôte)
  • 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 WDSc 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.

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

si vous indiquez *LIBL *USRLIBL ou *ALLUSR,

vous pourrez parcourir avec le bouton situé à droite :

sur la fenêtre de conception du filtre, vous pouvez aussi être sélectif sur le nom de l'objet (ou nom générique) et sur le couple type / attribut :

et vous pouvez aussi tester votre filtre (cliquez sur Tester, obtenir la liste)

 

résultat (tous les objets de la bibliothèque FORMATION9)

• Un filtre Membres


en cliquant sur Ajouter, vous retrouverez les différents critères possibles pour un membre source :
(y compris des filtres sur les types de membre)

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 OS/400, en utilisant la fenêtre Commandes :

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

* : nouveauté V5



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 en bas du cadre)

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.

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



et en V5R1, 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)



La nouveauté V5 est 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 mémorisé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" 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 nouveautés liées à la version 5 du produit :

 


Editer un membre source

pour éditer un membre source, pointez votre source dans l'arborescence et choisissez :

 

  1. LPEX, éditeur interne à WDSc
    (le plus moderne)
  2. CODE/400, éditeur externe et plus ancien.Il possède encore quelques atouts , mais gère mal les CL et les Commandes.

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

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


 

Là aussi, la V5 propose de nouvelles 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.

V7 :


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

La version 6 permet l'affichage de la structure aussi pour le langage SDD

Et la version 7 , les 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)


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 Compiler (et non Compilation sans invite)

Option *EVENTF, va générer un événement (une notion purement CODE/400 reportée à WDSc) afin de prévenir le produit que la compilation est terminée (elle est soumise par défaut) . Vous verrez alors :

puis dans les fenêtres basses :

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, en version 6,  la gestion des messages d'erreur suite à compilation est plus simple :


Voir la base de données

La perspective Explorateur de systèmes distants permet mal de travailler avec la base de données.

 

Autre possibilité SQL Explorer, plug-In gratuit d'accès aux bases de données

Historiquement, vous deviez télécharger le fichier zippé contenant le Plug-In. et copier

Avec les dernières versions d'eclipse, utiliser plutôt la notion de site de mise à jour.

Prenez l'optin de menu Aide/Mise à jour

Sélectionnez nouveaux dispositifs

puis créez un nouveau site :

Cochez ce nouveau site, qui doit vous proposer le plug-in qui vous intéresse.

Confirmez :

Ouvrez ensuite la perspective SQL Explorer


Ajoutez une connexion par "Connection/New Connection Profile..."


la première chose à faire (la première fois uniquement) c'est de définir le driver JDBC pour iSeries


sur la fenêtre suivante, ajoutez un jar externe, dans "extra class path" nommé jt400.jar et situé à (le nom peut varier suivant la version)
   C:\Program Files\IBM\SDP70Shared\plugins\com.ibm.etools.iseries.toolbox_7.1.1.v200804080336\runtime

puis indiquez :

Une fois la création du driver confirmée, retournez à la fenêtre de création de la connexion.

Celui-ci doit vous êtes proposé, indiquez alors le nom réel de votre AS/400 et de la base et renseignez les autres paramètres.

Connectez vous (toujours par un clic droit)

la liste des bibliothèques (du système) vous est alors affichée à droite de la perspective

vous pouvez voir les éléments base de données dans un bibliothèque, dont bien sur les tables (fichiers physiques)

Cela affiche automatiquement dans la vue Détail des informations sur cette table, particulièrement

Enfin un clic droit offre deux possibilités :

l'odre SQL est affiché dans une vue spécifique, l'exécution affiche les n première lignes (par défaut 100)

 


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 WDSc

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

il faut nommer le filtre

Puis indiquez vos critères :


affichage initial

exemple

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