API Java qui appelle pgm Cl/Rpg
API Java qui appelle pgm Cl/Rpg
Bonjour à tous,
auriez-vous un exemple de pgm Cl ou Rpg appelé par une API Java et qui reçoit des objets en paramètres ?
merci, bonne journée
auriez-vous un exemple de pgm Cl ou Rpg appelé par une API Java et qui reçoit des objets en paramètres ?
merci, bonne journée
-
- Messages : 55
- Enregistré le : ven. 22 janv. 2021, 10:21:13
Re: API Java qui appelle pgm Cl/Rpg
Bonjour,
voici un exemple :
voici un exemple :
Code : Tout sélectionner
import com.ibm.as400.access.AS400;
// Connection IBMi
AS400 IBMi = new AS400("IBMI", env.getProperty("jdbc.user"), env.getProperty("jdbc.password"));
// Déclaration d'un tableau de paramètres
ProgramParameter[] listeParametres;
ProgramCall program;
try {
listeParametres = new ProgramParameter[1]; // paramètres (1 input)
// Affectation des paramètres
listeParametres[0] = new ProgramParameter(new AS400ZonedDecimal(9, 0).toBytes(parametre));
program = new ProgramCall(IBMi);
// Set the program name and parameter list.
program.setProgram("/QSYS.LIB/BIBLIOTHEQUE.LIB/PROGRAMME.PGM", listeParametres);
program.run();
IBMi.disconnectAllServices();
} catch (Exception e) {
IBMi.disconnectAllServices();
}
Re: API Java qui appelle pgm Cl/Rpg
merci pour cet exemple
Auriez-vous la partie programmes As400 en exemple ?
Auriez-vous la partie programmes As400 en exemple ?
-
- Messages : 55
- Enregistré le : ven. 22 janv. 2021, 10:21:13
Re: API Java qui appelle pgm Cl/Rpg
Il s'agit d'un programme qui accepte en paramètre un champ de type zoned(9).
Si votre programme comporte plus de paramètres, il faut modifier la ligne :
puis les renseigner dans le tableau de paramètre :
Si votre programme comporte plus de paramètres, il faut modifier la ligne :
Code : Tout sélectionner
listeParametres = new ProgramParameter
Code : Tout sélectionner
listeParametres[0] = new ProgramParameter(new AS400ZonedDecimal(9, 0).toBytes(parametre));
Re: API Java qui appelle pgm Cl/Rpg
J'ai une Api Java sur un serveur Tomcat qui appelle un pgm As400.
La partie Api Java est ok.
Je cherche un exemple de pgm As400 appelé par une telle API.
Le pgm As400 reçoit des paramètres de l'Api.
Il existe plusieurs façons de construire le pgm As400, je recherche un retour d'expérience côté As400.
merci
La partie Api Java est ok.
Je cherche un exemple de pgm As400 appelé par une telle API.
Le pgm As400 reçoit des paramètres de l'Api.
Il existe plusieurs façons de construire le pgm As400, je recherche un retour d'expérience côté As400.
merci
-
- Messages : 55
- Enregistré le : ven. 22 janv. 2021, 10:21:13
Re: API Java qui appelle pgm Cl/Rpg
Le programme doit avoir une interface / prototype pour capter les paramètres reçus
Code : Tout sélectionner
dcl-pr PROGRAMME extpgm('PROGRAMME');
PROGRAMME zoned(9) const ;
end-pr;
dcl-pi *n;
PROGRAMME zoned(9) const ;
end-pi;
Re: API Java qui appelle pgm Cl/Rpg
merci mais vous faites comment ? Via procédure stockée ? Pcml ? Autres ?
Re: API Java qui appelle pgm Cl/Rpg
Bonjour,
Dans l'exemple de SebastienB, il n'y a besoin de rien de plus, ni PCML, ni procédure stockée. Quand program.run() est exécuté, BIBLIOTHEQUE/PROGRAMME est appelé via le servie de commande à distance (STRHSTSVR *RMTCMD) et reçoit un paramètre qu'il peut utiliser parce que le programme java l'encode comme un zoned(9). C'est ce que pourrait faire une commande CALL en CL
Dans votre cas l'API vous donne le choix entre différentes manières d'appeler un programme ?
Dans l'exemple de SebastienB, il n'y a besoin de rien de plus, ni PCML, ni procédure stockée. Quand program.run() est exécuté, BIBLIOTHEQUE/PROGRAMME est appelé via le servie de commande à distance (STRHSTSVR *RMTCMD) et reçoit un paramètre qu'il peut utiliser parce que le programme java l'encode comme un zoned(9). C'est ce que pourrait faire une commande CALL en CL
Dans votre cas l'API vous donne le choix entre différentes manières d'appeler un programme ?
Nicolas
Re: API Java qui appelle pgm Cl/Rpg
Je vous remercie de vos explications-)
Aujourd'hui l' API n'appelle pas encore de pgm As400 et je recherche la meilleure façon de faire
Aujourd'hui l' API n'appelle pas encore de pgm As400 et je recherche la meilleure façon de faire
Re: API Java qui appelle pgm Cl/Rpg
@SebastienB, @vazymimil , je vous remercie de votre aide, c'est tout bon, ça fonctionne -)
Bon week-end
Bon week-end