API Java qui appelle pgm Cl/Rpg

configuration Apache, Zend et PHP , Web services
Répondre
Karine
Messages : 14
Enregistré le : jeu. 21 janv. 2021, 14:43:11

API Java qui appelle pgm Cl/Rpg

Message par Karine »

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

SebastienB
Messages : 51
Enregistré le : ven. 22 janv. 2021, 10:21:13

Re: API Java qui appelle pgm Cl/Rpg

Message par SebastienB »

Bonjour,

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();
        }

Karine
Messages : 14
Enregistré le : jeu. 21 janv. 2021, 14:43:11

Re: API Java qui appelle pgm Cl/Rpg

Message par Karine »

merci pour cet exemple

Auriez-vous la partie programmes As400 en exemple ?

SebastienB
Messages : 51
Enregistré le : ven. 22 janv. 2021, 10:21:13

Re: API Java qui appelle pgm Cl/Rpg

Message par SebastienB »

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 :

Code : Tout sélectionner

listeParametres = new ProgramParameter
puis les renseigner dans le tableau de paramètre :

Code : Tout sélectionner

listeParametres[0] = new ProgramParameter(new AS400ZonedDecimal(9, 0).toBytes(parametre));

Karine
Messages : 14
Enregistré le : jeu. 21 janv. 2021, 14:43:11

Re: API Java qui appelle pgm Cl/Rpg

Message par Karine »

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

SebastienB
Messages : 51
Enregistré le : ven. 22 janv. 2021, 10:21:13

Re: API Java qui appelle pgm Cl/Rpg

Message par SebastienB »

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;

Karine
Messages : 14
Enregistré le : jeu. 21 janv. 2021, 14:43:11

Re: API Java qui appelle pgm Cl/Rpg

Message par Karine »

merci mais vous faites comment ? Via procédure stockée ? Pcml ? Autres ?

vazymimil
Messages : 32
Enregistré le : ven. 28 sept. 2018, 17:14:46

Re: API Java qui appelle pgm Cl/Rpg

Message par vazymimil »

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 ?
Nicolas

Karine
Messages : 14
Enregistré le : jeu. 21 janv. 2021, 14:43:11

Re: API Java qui appelle pgm Cl/Rpg

Message par Karine »

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

Karine
Messages : 14
Enregistré le : jeu. 21 janv. 2021, 14:43:11

Re: API Java qui appelle pgm Cl/Rpg

Message par Karine »

@SebastienB, @vazymimil , je vous remercie de votre aide, c'est tout bon, ça fonctionne -)
Bon week-end

Répondre