Je ne suis pas très familier avec le travail sur SAP, mais ma tâche actuelle est d'utiliser des appels RFC pour créer des bons de commande dans le logiciel SAP via un projet C# sur lequel je travaille.
Y a-t-il un avantage à utiliser des appels RFC directs plutôt que le BAPI ? J'ai posé la question à mon superviseur et sa raison était "éviter le désordre inutile/inconnu".
Notre ancien programme utilisait le BAPI. Je trouve avec cette tâche que je me retrouve à courir en rond en plongeant dans les métadonnées et en résolvant les problèmes liés à l'utilisation/à l'obtention des structures dont j'ai besoin.
Les choses avancent et fonctionnent, mais je ne comprends pas pourquoi il est si important d'utiliser RFC plutôt que BAPI.
Édition pour clarifier mon vocabulaire inapproprié : nous utilisons actuellement un wrapper qui appelle le BAPI pour nous. Ma tâche consiste à ne pas utiliser le wrapper mais à utiliser les mêmes appels RFC que le BAPI utiliserait.
Exemple:
IRfcFunction poCreateFunction = _dest.Repository.CreateFunction("BAPI_PO_CREATE1");
IRfcStructure poHeader = poCreateFunction.GetStructure("POHEADER");
poCreateFunction.SetValue("POHEADER", poHeader);
...
poCreateFunction.Invoke(_dest);