> Renaud ROSSET
Systèmes autosurveillés

Systèmes autosurveillés

Avec les moniteurs de système et de message d'OpsNav (figure 2), votre système peut se surveiller lui-même et prendre des décisions. Ainsi, quand l'utilisation de la CPU est excessive, le moniteur peut mettre en suspens les files d'attente de jobs et les libérer dès que l'utilisation de la CPU redescend

Lire l'article
Outils de base de données

Outils de base de données

OpsNav offre une vue des objets de base de données et opération SQL. Avec le Database Navigator V5R1 (figure 1), on crée un plan montrant comment les objets (tables, vues, contraintes, index, par exemple) dans la base de données sont connectés. En faisant un clic droit sur l'un des objets

Lire l'article
Figure A

Figure A

Table de traduction pour envoyer la commande ESC

/* THIS GOES JUST AFTER :EINDFNT In your WSCST source */
:EBCASCTBL.
:EBCASCTBLE
EBCDICCP= à˜37
ASCIICP= 437
DATA =
/* -à˜-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F */
'2à˜2à˜838485Aà˜A68687A49B2E3C282B7C'X /* 4 */
'268288898AA18C8B8DE121242A293BAA'X /* 5 */
'2D2F838E85Aà˜A68F80A57C2C255F3E3F'X /* 6 */
'6F9à˜88898AA18C8B8D6à˜3A234à˜273D22'X /* 7 */
'ED616263646566676869AEAF6479à˜à˜F1'X /* 8 */

Lire l'article
Figure 3

Figure 3

Code RPGLE définissant six polices

BIGMED C CONST('~(8U~(s1p16.à˜và˜sà˜b4148T')
Z10MED C CONST('~(11U~(sà˜p1à˜.à˜à˜h12.à˜và˜sà˜b3T'
Z10BLD C CONST('~(11U~(sà˜p1à˜.à˜à˜h12.à˜và˜s3b3T'
Z12MED C CONST('~(11U~(sà˜p12.à˜à˜h1à˜.à˜và˜sà˜b3T')
Z12BLD C CONST('~(11U~(sà˜p12.à˜à˜h1à˜.à˜và˜s3b3T')
Z16MED C CONST('~(11U~(sà˜p16.67h8.5và˜sà˜bà˜T')

Lire l'article
A propos de WSCST

A propos de WSCST

Pour créer votre propre objet Work Station Customization, vous devez d'abord extraire la source fournie par IBM en utilisant la commande RTVWSCST (Retrive Work Station Customization object). Par exemple, pour extraire la source destinée à  une imprimante HP laserjet 5, vous utiliseriez la commande suivante :

RTVWSCST DEVTYPE(*TRANSFORM)
    MFRTYPMDL(*HP5)
    SRCMBR(HP5)

Lire l'article
Polices fantaisies

Polices fantaisies

En possession de nos graphiques et de nos boîtes, nous pouvons les remplir avec des données : de gros titres dans la grande boîte à  droite et de petits titres dans les petites boîtes à  gauche (figure 2).

Pour sélectionner la police, il faut émettre une suite de commandes qui

Lire l'article
Graphiques compliqués

Graphiques compliqués

Certains programmes PC comme AutoCad permettent de tracer des graphiques avec une souris puis de convertir les dessins en un fichier vectoriel, facile à  copier en PCL. Pour tracer un premier graphique, j'ai démarré avec du papier à  dessin quadrillé. Je me suis ensuite muni d'une copie du logo, l'ai

Lire l'article
Un exemple simple

Un exemple simple

Dans cet exemple, je veux imprimer en haut de la page un rectangle contenant sept rectangles plus petits (figure 1). Après être entré en mode graphique PGL, je choisis une plume de largeur 0.25. Les commandes utilisées pour tracer sont PU (pour pen up) et PD (pour pen down). En

Lire l'article
Graphiques

Graphiques

Utiliser des graphiques vectoriels équivaut à  posséder une plume avec laquelle on trace des lignes, des polygones, des arcs, des cercles, et des segments. Les premières imprimantes graphiques étaient des traceurs pour dessiner des plans, entre autres, au moyen d'un système de grille à  deux dimensions matérialisées par des coordonnées

Lire l'article
Figure III

Figure III

Utilisation du programme de service CallStack dans des applications

* ===================================================================
* = Prototypes =
* ===================================================================
* -------------------------------------------------------------------
* - RtvNbrStkEnt - Retrieve number of call stack entries -
* -------------------------------------------------------------------
D RtvNbrStkEnt PR 1à˜I à˜
D 1à˜ Value
D 1à˜ Value
D 6 Value
D 272 Options( *NoPass

Lire l'article
Figure II

Figure II

Programme de service CallStack

*===================================================================
* = Service Program... CallStack =
* = Description....... Call stack routines =
* = =
* = Compile........... CrtRPGMod Module(YourLib/CallStack) =
* = SrcFile(YourLib/YourSrcFile) =
* = CrtSrvPgm SrvPgm(YourLib/CallStack) =
* = Export(*All) =
* ===================================================================

H NoMain

* ===================================================================
* = Prototypes =

Lire l'article
Figure I

Figure I

Structure renvoyée par QWVRCStk

Offset Type Champ
0 BINARY(4) Octets renvoyés
4 BINARY(4) Octets

Lire l'article
Faites un essai

Faites un essai

Avant de mettre en oeuvre CallStack dans un environnement de production, effectuez quelques essais. Je vous conseille d'extraire toute la pile d'appel et d'examiner l'information qu'elle renvoie. Vous pourrez ensuite déterminer la position relative dans la pile d'appel de l'entrée qui vous intéresse. Disons, par exemple, que vous êtes intéressé

Lire l'article
A votre service

A votre service

Pour vous expliquer l'utilisation de l'API, j'ai codé le programme de service CallStack, contenant des procédures chargées d'extraire les détails utilisés le plus couramment pour les entrées de la pile d'appel. La figure en montre quelques morceaux choisis.

Les prototypes pour les procédures de CallStack, RtvNbrStkEnt (Retrieve Number of Stack

Lire l'article
Eléments de base de l’API Retrive Call Stack

Eléments de base de l’API Retrive Call Stack

L'API QWVRCStk tire une quantité considérable d'informations sur les programmes et procédures présents dans la pile d'appel d'un job :

• Request level est le niveau du programme ou de la procédure de traitement des requêtes. Si aucune requête n'a été reçue, la valeur de ce champ est 0 (zéro).

Lire l'article
Comment installer le code source HTML et RPG-CGI

Comment installer le code source HTML et RPG-CGI

1. Restaurez PA9001 et CBX003 sur votre bibliothèque CGI (CGILIB, par exemple).

2. Créez un fichier source dans votre bibliothèque CGI appelé HTMLSRC et restaurez-y le membre HTML PA9000.

3. Créez un répertoire de liaison (binding directory) en utilisant la commande CRTBNDDIR. Par exemple:

CRTBNDDIR BNDDIR(CGILIB/
           CGIBNDDIR)
           TEXT(‘CGI binding')

Remarque:

Lire l'article
Une autre façon de voir les listes de validation

Une autre façon de voir les listes de validation

J'espère que ce programme vous a montré de nouvelles méthodes de création d'une interface plus moderne et plus intéressante pour résoudre un problème RPG courant. Il y a dans ce programme quelques éléments de plus que ceux d'une solution DDS/RPG normale, mais quand vous aurez commencé à  utiliser HTML et

Lire l'article
Quand le programme CGI-RPG est appelé

Quand le programme CGI-RPG est appelé

Comme le RPG IV ne permet pas de lire directement un formulaire HTML, il faut recourir aux API. En V4R4, IBM a fourni sept API CGI, regroupées et mises de côté dans un programme de service QZHBCGI que l'on peut trouver dans la bibliothèque QHTTPSVR. Pour ma part, je préfère

Lire l'article
Appeler le programme CGI-RPG

Appeler le programme CGI-RPG

Pour appeler le programme CGI-RPG, utilisez le tag

. Examinez le code suivant :

<FORM ACTION=http://my_ http_server/cgi-bin/pa9à˜à˜1" onsubmit="return CheckInput(‘add')"
METHOD="POST" NAME="ThisForm">

Les autres champs d'entrée sont définis ici :

<INPUT TYPE="submit"
VALUE="Submit"
NAME="submit" 
class="button">
</FORM>

Le tag <INPUT> définit un bouton de type Submit et, comme il est défini entre

Lire l'article
Les fichiers HTML

Les fichiers HTML

Si vous débutez en HTML, ne craignez rien : c'est un langage plutôt facile à  apprendre et doté de nombreux moyens en ligne pour vous guider. Un bon point de départ est http://www.idocs.com. Le 8 mai 2001, le Tech Observatory à  http://www.iseriesnetwork. com présente aussi quelques liens intéressants.

Je construis

Lire l'article