Appel de programmes
RPG/CL depuis .NET

Avec le connecteur NTi Data Provider, appelez nativement vos programmes IBM i existants depuis vos applications .NET, sans réécrire ni dupliquer une ligne de logique métier.

  • Appel de programmes existants (RPG/CLP/36)
  • Commandes CL exécutées depuis .NET
  • Paramètres d'entrée, de sortie et d'entrée/sortie
Logo IBM silver partner Logo microsoft partner

Réutilisation des développements existants

Vos programmes RPG représentent une richesse façonnée avec le temps pour répondre aux besoins de votre activité. Ils portent une logique métier, des règles de gestion et une identité applicative propre à votre entreprise.

NTi vous permet de les appeler directement depuis C# et de les intégrer dans vos nouveaux projets .NET, pour redonner une feuille de route à long terme à vos applications métier.

Réduction des coûts

Appeler un programme RPG depuis C# avec NTi, c'est quelques heures d'intégration. Le réécrire, c'est un projet à part entière, avec son coût et ses délais.

Risque opérationnel réduit

Vos traitements métier fonctionnent déjà en production. Les réutiliser depuis .NET ne nécessite aucune nouvelle validation.

Savoir-faire préservé

Votre logique métier reste là où elle a été conçue : vous l'ouvrez aux usages modernes avec simplicité, sans en perdre la maîtrise.

Un appel de programme
en quelques lignes seulement

Du C# standard. Connexion, paramètres, appel, résultat.

conn.CallProgram(...)

Appelez un programme IBM i existant depuis C#, en transmettant ses paramètres.

new NTiProgramParameter(...)

Déclarez chaque paramètre attendu par le programme : entrée, sortie ou entrée/sortie.

conn.ExecuteClCommand(...)

Exécutez une commande CL directement depuis votre code C#.

Exemple : gestion client IBM i

Une table CLIENTS et un programme RPG CLIENTS2 (bibliothèque MYLIB) gèrent la validation, l'insertion et la mise à jour des données.
L'interface web, développée en Blazor (framework .NET), appelle le programme directement, sans réécrire la logique existante sur IBM i.

using var conn = new NTiConnection(connectionString);
conn.Open();
// Ajout de la bibliothèque
conn.ExecuteClCommand("ADDLIBLE LIB(MYLIB)");
// Déclaration des paramètres
var parms = new List<NTiProgramParameter>
{
    new NTiProgramParameter("01", 2).AsInput(), // code action
    new NTiProgramParameter("", 2).AsOutput(), // code retour
    new NTiProgramParameter("", 2).AsOutput(), // code erreur
    new NTiProgramParameter("", 10) // Structure de données client
        .Append(request.CompanyName ?? "", 20)
        .Append(request.PostalCode  ?? "", 5)
        .Append(request.Email       ?? "", 20),
    new NTiProgramParameter("", 10).AsOutput() // indicateurs de validation par champ
};
// Appel du programme
conn.CallProgram("MYLIB", "CLIENTS2", parms);
Selon la signature du programme, les paramètres de sortie peuvent transporter des codes retour ou messages métier, exploitables directement pour la gestion des erreurs côté .NET.
Voir l'exemple complet.

Côté IBM i

Saisie des données client sur l'écran 5250 Saisie des données client sur l'écran 5250, avant validation par le programme RPG.

Côté application .NET

Application .NET affichant le nouvel enregistrement client retourné par IBM i Le nouvel enregistrement client, avec son numéro généré par IBM i, est retourné dans l'application .NET.

Tout l'IBM i, depuis .NET.

Programmes RPG et RPGLE

Appelez n'importe quel programme compilé depuis C#, dès lors que son interface de paramètres est connue.

Programmes CLP et commandes CL

Automatisez vos opérations IBM i depuis .NET : création de bibliothèques, gestion d'objets, déclenchement de traitements batch.

Programmes de service (SRVPGM)

Appelez des procédures exposées dans un programme de service, via l'extension Toolbox.
CallServiceProgramProcedure

APIs système IBM i

Accédez aux ressources système IBM i depuis .NET en implémentant des appels aux APIs QSYS documentées par IBM.

Vos programmes
accessibles partout

Déployez votre application .NET où vous voulez. NTi fait le lien avec l'IBM i.

100% .NET

Un package NuGet à référencer dans votre projet .NET, aucun driver client.

Sans installation IBM i

NTi utilise les services TCP/IP standard déjà actifs sur votre système.

Déployable partout

Windows, Linux, ARM64, Docker, cloud. Partout où .NET s'exécute.

NTi permet également d'accéder aux données DB2 for i au standard ADO.NET ou avec l'extension EF Core.

"En choisissant des solutions cloud-natives et multiplateformes, c'est l'application qui s'adapte à l'infrastructure. Pas l'inverse."

Cas d'usage

API métier

Exposez vos traitements IBM i en API, consommables depuis un portail web, une application mobile, sans réécrire la logique métier.

Interface web

Construisez des interfaces .NET soignées et intuitives autour de vos programmes IBM i existants, sans dupliquer la logique métier.

Automatisation

Déclenchez et pilotez vos opérations IBM i directement depuis vos applications .NET, sans passer par un écran 5250 ou un outil tiers.

Questions fréquentes