2017-08-06 3 views
-2

Est-ce que quelqu'un pourrait me poster un exemple de code C# pour mettre à jour un enregistrement de table dans SAP Subsystem en utilisant les BAPI. J'ai pu sélectionner enregistrement d'une table SAP en utilisant l'exemple expliqué dans le lien ci-dessous Step by step tutorial to use SAP. net Connector with VS 2008Insère, met à jour et supprime des tables SAP

J'ai vérifié quelques discussions dans les forums pour cela, mais ne pouvais pas obtenir une note compréhensible en ce qui concerne la même chose.

Répondre

2

Votre question contient plusieurs parties, laissez-moi essayer d'expliquer chacune d'entre elles. Tout d'abord, votre besoin est de définir quel BAPI vous devez appeler pour mettre à jour votre table SAP. Lorsque vous l'avez trouvé, assurez-vous qu'il est compatible RFC. Si ce n'est pas le cas, vous devez créer un module de fonction wrapper compatible RFC qui appelle simplement cette BAPI.

Lorsque vous avez trouvé le BAPI, il est assez simple de l'appeler en utilisant le .net Connector. Il y a un exemple très complet ici: https://www.codeproject.com/Articles/824928/SAP-Net-Connector-NCo-Example

Mais dans l'ensemble, vous devez configurer votre connexion ("destination") à SAP en utilisant RfcDestinationManager. Lorsque votre destination est configuré, vous récupérez le référentiel et le module de fonction comme ceci:

rfcDestination = RfcDestinationManager.GetDestination(destinationName); 
RfcRepository rfcRepository = rfcDestination.Repository; 
IRfcFunction rfcFunction = rfcRespository.CreateFunction("BAPI_WHATEVER"); 

Ensuite, vous pouvez remplir les paramètres du module de fonction en utilisant la fonction SetValue:

rfcFunction.SetValue("fieldName", value); 

Lorsque vous avez terminé avec les paramètres, vous appelez la fonction Invoke pour réellement faire l'appel.

rfcFunction.Invoke(rfcDestination); 

Après l'appel, vous pouvez utiliser la fonction GetValue ou la propriété tables pour récupérer les valeurs de retour:

var value = rfcFunction.GetValue("fieldName"); 

Avec que vous devriez avoir tout ce que vous devez appeler un BAPI qui met à jour une table SAP .