Pour utiliser les programmes API de LAUNCHER Office en environnement OPM, les paramètres des programmes doivent être déclarés de façon stricte, en respectant les tailles décrites ci-après.
En environnement ILE, l'appel de la procédure passe "L'operational Descriptor", donc les tailles des paramètres passés en argument seront connues par la procédure appelée, et ne devront pas respecter strictement les tailles définies ci-après, à l'exception du paramètre 'HANDLE'.
Déclarations des variables dans le programmes AS/400:
Les programmes de LAUNCHER Office demandent des paramètres en entrée et sortie :
Nom |
Type |
Taille |
Description |
HANDLE |
CHAR |
50 |
Identifiant de conversation entre le job et le PC. |
SVRADD |
CHAR |
30 |
Nom ou adresse IP du PC à contacter. |
CCSID |
CHAR |
10 |
CCSID AS/400 du travail. |
CMD |
CHAR |
10 |
Verbe de la commande envoyée au PC. |
OPT |
CHAR |
1 |
Option de commande. |
PARM1 |
CHAR |
512 |
Paramètres de la commande |
PARM2 |
CHAR |
1024 |
Paramètres de la commande (Compléments) |
RESULT |
CHAR |
512 |
Résultat retourné par le PC. |
Voir aussi : Commande PROPERTY
Exemples de déclarations :
En CL :
DCL VAR(&HANDLE) TYPE(*CHAR) LEN(50) VALUE(‘*ONLY’)
DCL VAR(&SVRADD) TYPE(*CHAR) LEN(30) VALUE(‘*DEV’)
DCL VAR(&CCSID) TYPE(*CHAR) LEN(10) VALUE(‘*JOB’)
DCL VAR(&CMD) TYPE(*CHAR) LEN(10)
DCL VAR(&OPT) TYPE(*CHAR) LEN(1)
DCL VAR(&PARM1) TYPE(*CHAR) LEN(512)
DCL VAR(&PARM2) TYPE(*CHAR) LEN(1024)
DCL VAR(&RESULT) TYPE(*CHAR) LEN(512)
En RPG ILE :
DHANDLE S 50 inz(‘*ONLY’)
DSVRADD S 30 inz(‘*DEV’)
DCCSID S 10 inz(‘*JOB’)
DCMD S 10 inz(‘*DEV’)
DOPT S 1 inz(*blanks)
DPARM1 S 512 inz(*blanks)
DPARM2 S 1024 inz(*blanks)
DRESULT S 512 inz(*blanks)
Toutes les commandes peuvent retourner un message d'erreur en utilisant le processus standard de gestion des erreurs de l'AS/400. Tous ces messages sont identifiés par un MSGID : LNCnnnn.
Exemple :
L’exemple ci-dessous ouvre une unique connexion (&HANDLE vaut *ONLY) sur le PC où se trouve l’émulateur qui l’appelle (utilisation du device *DEV) et avec le CCSID du Job en cours.
DCL |
VAR(&HANDLE) TYPE(*CHAR) LEN(50) |
DCL |
VAR(&SVRADDR) TYPE(*CHAR) LEN(30) |
DCL |
VAR(&CCSID) TYPE(*CHAR) LEN(10) |
|
|
CHGVAR |
VAR(&HANDLE) VALUE('*ONLY') |
CHGVAR |
VAR(&SRVADDR) VALUE('*DEV') |
CHGVAR |
VAR(&CCSID) VALUE('*JOB') |
|
|
CALL |
PGM(LNCOPEN) PARM(&HANDLE &SVRADDR &CCSID) |
MONMSG |
MSGID(LNC0000) EXEC(GOTO CMDLBL(ERROR)) |