Partager via


Appeler des RFC et des BAPIs à l’aide de la commande EXEC dans SAP

Le fournisseur de données .NET Framework pour mySAP Business Suite expose le système SAP en tant que source de données ADO.NET. En utilisant le fournisseur de données .NET Framework pour mySAP Business Suite, vous pouvez appeler des RFC et des API sur le système SAP via une commande EXEC.

Comment appeler des RFC et des API sur le système SAP

Pour appeler un RFC ou un BAPI à l’aide du fournisseur de données pour SAP, procédez comme suit :

Pour appeler un RFC ou un BAPI

  1. Incluez une référence (et une instruction using dans votre code) à Microsoft.Data.SAPClient.

  2. Créez un objet SAPConnection à l’aide d’un fournisseur de données pour sap chaîne de connexion. Pour plus d’informations sur le chaîne de connexion, consultez En savoir plus sur les types de fournisseur de données pour la chaîne de connexion SAP.

  3. Ouvrez une connexion au système SAP en appelant Open sur sapConnection.

  4. Créez un objet SAPCommand à partir de SAPConnection.

  5. Spécifiez l’appel BAPI ou RFC dans la propriété CommandText de SAPCommand. Si nécessaire, vous pouvez spécifier des paramètres à l’aide d’objets SAPParameter . Pour plus d’informations sur la spécification d’un appel BAPI ou RFC à l’aide d’une instruction EXEC, consultez Syntaxe d’une instruction EXEC dans SAP. Pour obtenir des exemples de spécification d’une instruction BAPI ou RFC, consultez Exemples d’instruction EXEC.

  6. Exécutez la commande pour appeler le RFC ou le BAPI et obtenir les résultats dans un SAPDataReader.

  7. Lisez les résultats de SAPDataReader.

  8. Lorsque vous avez terminé de les utiliser, fermez (ou éliminez) SAPConnection et SAPDataReader.

    Le fournisseur de données pour SAP expose également une classe SAPClientFactory , que vous pouvez utiliser pour créer des objets SAPConnection, SAPCommand et SAPConnection . Pour plus d’informations sur les classes ADO.NET étendues par le fournisseur de données pour SAP, consultez Étendre les interfaces ADO.NET avec l’adaptateur SAP.

Exemple

L’exemple suivant appelle SD_RFC_CUSTOMER_GET pour récupérer des informations client pour tous les clients dont le nom commence par « AB ». Il écrit ensuite les enregistrements client dans la console.

using System;  
using System.Collections.Generic;  
using System.Text;  
  
using Microsoft.Data.SAPClient;  
  
namespace SapAdoExec  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            string connstr = "TYPE=A; ASHOST=YourSAPHost; SYSNR=00; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;";  
  
            using (SAPConnection conn = new SAPConnection(connstr))  
            {  
                conn.Open();  
  
                using (SAPCommand cmd = conn.CreateCommand())  
                {  
                    cmd.CommandText = "exec sd_rfc_customer_get @name1='AB*' ";  
                    using (SAPDataReader dr = cmd.ExecuteReader())  
                    {  
                        do  
                        {  
                            int rows = 0;  
                            while (dr.Read())  
                            {  
                                rows++;  
                                StringBuilder b = new StringBuilder();  
                                for (int i = 0; i < dr.FieldCount; i++)  
                                {  
                                    b.Append(dr[i].ToString() + " ");  
                                }  
                                Console.WriteLine("row {0}: {1} ", rows, b.ToString());  
                            }  
                            Console.WriteLine("Number of rows:{0}", rows);  
                        } while (dr.NextResult());  
  
                    }  
                }  
            }  
  
        }  
    }  
}  

Voir aussi

Utiliser le fournisseur de données .NET Framework pour mySAP Business Suite
Exemples