Appel d'un programme de service via l'assemblage .NET

RPG (3 et 4, free), CL, SQL, etc...
Répondre
Seb29300
Messages : 2
Enregistré le : mar. 04 oct. 2022, 13:15:44

Appel d'un programme de service via l'assemblage .NET

Message par Seb29300 »

Bonjour,

J'utilise l'assemblage .NET d'IBM (IBM.DATA.DB2.ISERIES) dans un développement Windev afin d'effectuer des actions sur nos AS400 (Exécutions de requêtes, de programmes RPG).
J'ai maintenant besoin d'exécuter des programmes de service mais je n'ai aucune idée de la syntaxe à utiliser.
Si jamais vous avez une idée je suis preneur...


Sébastien

Hurri
Messages : 38
Enregistré le : lun. 02 nov. 2020, 16:04:59

Re: Appel d'un programme de service via l'assemblage .NET

Message par Hurri »

Bonjour,

Alors je ne sais pas comment çà se passe avec Windev, mais avec VB.net, on le fait sans problème en passant par les procédures stockées.
Tu crées la procédure stockée correspondant à la procédure dans le programme de service, et ensuite tu appelles cette procédure stockée comme tout autre programme sur le serveur IBM. Exemple de procédure dans un programme de service :

Code : Tout sélectionner

CREATE PROCEDURE MaBib.MaProcedureStockee ( 
	INOUT PARAMETRE_1 CHAR(1) , 
	INOUT PARAMETRE_2 CHAR(10) , 
	INOUT ID_RETOUR INTEGER ) 
	LANGUAGE RPGLE 
	SPECIFIC MaBib.MaProcedureStockee 
	NOT DETERMINISTIC 
	MODIFIES SQL DATA 
	CALLED ON NULL INPUT 
	EXTERNAL NAME 'MaBib/NomDuProgrammeDeService(NomDeLaProcedureAppelee)' 
	PARAMETER STYLE GENERAL ; 

Seb29300
Messages : 2
Enregistré le : mar. 04 oct. 2022, 13:15:44

Re: Appel d'un programme de service via l'assemblage .NET

Message par Seb29300 »

Super, je teste cette solution.

Merci beaucoup !

jimmy10
Messages : 1
Enregistré le : lun. 27 févr. 2023, 19:09:38

Re: Appel d'un programme de service via l'assemblage .NET

Message par jimmy10 »

Bonjour Sébastien,

Il est possible d'exécuter des programmes de service sur les systèmes AS400 en utilisant l'assemblage .NET d'IBM, mais la syntaxe dépendra de la façon dont les programmes de service ont été implémentés.

En général, pour exécuter un programme de service sur un AS400, vous devez utiliser la classe iSeriesCommand de l'assemblage IBM.DATA.DB2.ISERIES. Cette classe vous permet d'exécuter des commandes directement sur l'AS400 à partir de votre code .NET.

Pour exécuter un programme de service, vous devez connaître la commande de service associée au programme et utiliser la méthode Execute de la classe iSeriesCommand. Par exemple, si la commande de service associée à votre programme est "MYPGM", vous pouvez l'exécuter de la manière suivante :

iSeriesConnection conn = new iSeriesConnection("ConnectionString");
iSeriesCommand cmd = new iSeriesCommand("MYPGM", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
Assurez-vous de remplacer "ConnectionString" par la chaîne de connexion appropriée pour votre système AS400.

J'espère que cela vous sera utile. N'hésitez pas à me faire savoir si vous avez d'autres questions ou si vous avez besoin de plus d'informations.

Cordialement,
Mon site : trouvevite.fr

Répondre