Cette page porte sur les sujets suivants :
-
Définitions/Détails
-
Quand utiliser Direct
-
Fonctions non disponibles dans Direct (sauf si spécifiquement intégré par le développeur)
-
Différences par rapport à Transaction
-
Préparation avant d’utiliser Direct
-
Conseils concernant Direct
-
Création de scripts dans Direct
-
Meilleures pratiques Direct
Définitions
-
RFC (Remote Function Call (Appel de fonction à distance)
-
Interface SAP standard utilisée par les applications tierces pour communiquer avec SAP
-
Utilisé pour exécuter une fonction dans SAP
-
RFM (Remote-Enabled Function module) – RFM signifie Remote-Enabled Function module
-
Appeler et exécuter des fonctions prédéfinies
-
-
BAPI (Business application Programming interface) - Doit être activé à distance
-
Une interface BAPI peut être une interface BAPI SAP standard ou une interface BAPI personnalisée créée par une équipe de programmation SAP BASIS pour un usage interne
-
Une interface BAPI est un module de fonction RFC qui est utilisé pour appeler le code interne SAP
-
Interface standard des modèles d’objets métier dans SAP sans utiliser d’interface utilisateur de code de transaction SAP
-
Renvoie un ensemble d’erreurs à la place d’erreurs individuelles
-
Chaque interface BAPI correspond à un objet métier spécifique
-
Peut avoir de la documentation connexe disponible pour expliquer le format, la structure et le comportement
Remarques :
-
vous pouvez accéder à la documentation dans l’onglet Documentation des onglets Espace de travail Direct, Afficher et Mapper du ruban Espace de travail ou via la transaction SE37 de SAP.
-
Il est très important de connaître le fonctionnement de l’interface BAPI pour interagir avec elle.
-
-
Quand utiliser Direct
-
La seule option permettant d’enregistrer une transaction SAP nécessite le scriptage GUI. Il est donc nécessaire d’exécuter le script dans les cas où le scriptage GUI n’est pas pris en charge, à partir d’un serveur Automate via la planification ou un formulaire Web
-
Aucune transaction SAP n’est disponible pour traiter les exigences
-
Les performances sont une exigence principale (téléchargements en masse, etc.)
-
Lorsqu’il n’est pas possible de positionner sur une grille et/ou que la complexité de l’automatisation est trop complexe
-
Les écrans SAP présentent un nombre variable de fenêtres contextuelles
-
Lors de l’utilisation de BAPI, RFM sont des préférences personnelles
Fonctions non disponibles dans Direct (sauf si spécifiquement intégré par le développeur)
-
Validation et Simulation
-
Solution alternative : vérifiez les données ou créez un script d’exécution de test Valider
-
Fonctions avancées : texte long, pièces jointes de documents - (solution alternative : utilisation des RFM Automate)
-
Données de sauvegarde : (solution alternative : lisez les données de SAP avant la mise à jour avec une interface BAPI)
-
Déboguer et exécuter avec l’arrêt en cas d’erreurs
-
Différences par rapport à Transaction
-
Les messages SAP peuvent être différents, et plusieurs messages peuvent être renvoyés
-
Les boucles sont automatiquement incluses : il est possible de modifier et de réutiliser la colonne d’ID de boucle
-
La casse peut être importante
-
Une entrée en allemand peut être nécessaire pour certains BAPI/RFM. Exemples :
-
Sold-To (Vendu à) - Anglais: « SP » Allemand : « AG »
-
Ship-To (Expédition à) - Anglais : « SH » Allemand : « WE »
-
L’interface BAPI attend la version allemande
-
Préparation à l’utilisation de Direct
-
Trouvez la BAPI/le RFM que vous souhaitez utiliser
-
Communauté SAP
-
Recherche Internet
-
Query : créer un script Query dans la table SAP SWOLTV Ajouter des critères de similarité au champ ABAPNAME
Champs de clé :
-
ABAPNAME (nom de la fonction ABAP)
-
DESCRIPT (Nom)
-
SHORTTEXT (Description)
-
COUNTPRAM (nombre de paramètres dans la méthode)
-
LOBJTYPE (type d’objet)
-
VERB (composant de type objet)
-
-
-
Vérifier que la BAPI/le RFM sont activés à distance
-
L’utilisateur doit avoir accès pour exécuter la BAPI/le RFM – Les autorisations sont essentielles
-
Tester dans SE37 (facultatif)
-
Pour sélectionner et tester une BAPI/un RFM à partir de SAP, l’utilisateur doit avoir accès à SE37
-
Données de test avec la BAPI/le RFM à l’aide de SE37
-
Remarque : il se peut qu’il existe déjà des données de test antérieures dans SE37 que vous pouvez utiliser comme référence
-
-
Identifier les champs requis
-
Identifier les champs à utiliser
Conseils concernant Direct
-
Si vous ne pouvez pas ouvrir la BAPI/le RFM SAP standard dans Direct, cochez
-
permissions
-
s’il est activé à distance
-
-
STRUCTURES D’ENTRÉE - Données à transférer vers SAP
-
STRUCTURES DE SORTIE - Données renvoyées par SAP
-
TABLES - Utilisées pour l’entrée et la sortie
-
Table ImportOthers - Importer la table des paramètres
-
Certains peuvent être nécessaires
-
Correspond à l’onglet d’importation de SE37
-
-
Table ExportOthers - Table des paramètres d’exportation
-
Correspond à l’onglet d’exportation de SE37
-
-
La BAPI/les RFMS n’incluent pas les exits utilisateur et autres personnalisations présentes dans le code de transaction correspondant. Ils doivent être ajoutés à une interface BAPI personnalisée ou au script Studio et/ou au formulaire Web.
-
Lors de la sélection de champs dans l’espace de travail, une boucle est automatiquement créée autour de chaque structure pour la vue expert. Dans de nombreux cas, plusieurs structures doivent être appelées sous une seule boucle, plutôt que sous plusieurs boucles. Vous pouvez supprimer les boucles individuelles autour des structures et étendre une seule boucle pour couvrir toutes les structures qui doivent être répétées.
-
Par exemple, dans la BAPI de création de document, chaque vue démarre automatiquement avec sa propre boucle. Il est plus probable que toutes les vues soient créées en un seul appel. Supprimez donc toutes les boucles sauf une, puis étendez la boucle restante pour couvrir toutes les vues.
-
-
Dans la version 11 et les versions ultérieures, il est possible d’aplatir la structure d’une BAPI en supprimant toutes les boucles. Vous pouvez copier et coller des structures entières dans la vue expert pour effectuer plusieurs appels à une structure sans boucle. Vous devez sélectionner la structure entière, en cliquant sur la ligne bleue/verte « Écran » pour pouvoir copier ou coller.
-
Recherchez les tables « X » - Si vous utilisez une BAPI qui écrit dans SAP, recherchez les tables dont le nom est identique à celui de deux autres tables, l’un des noms se terminant par un « X ». Les interfaces BAPI n’ont pas toutes ces types de tables, mais si elles existent, vous devez savoir comment les utiliser.
Exemple – Les tables CONDITIONITEMDATAIN et CONDITIONITEMDATAINX dans BAPI_CONDITION_CONTRACT_CREATE BAPI
Mapper les champs d’identité/distincts : pour indiquer à la BAPI l’enregistrement sur lequel mettre à jour les champs, recherchez les champs d’identité/distincts.
-
Exemple :ORDER_KEY, COND_COUNT et UPDATE_FLAG sont des champs de clé des tables CONDITIONITEMDATAIN et CONDITIONITEMDATAINX
-
Ces champs doivent contenir les mêmes données dans les deux tables pour chaque enregistrement et peuvent être mappés à la même colonne dans le modèle de données.
-
Champs de la table « X »
-
Mappez une valeur fixe de « X » pour chaque champ correspondant mappé dans la table CONDITIONITEMDATAIN. Rechercher :
-
Description = « Informations mises à jour dans le champ de données utilisateur associé »
-
Type = CHAR
-
Longueur = 2
Les valeurs X indiquent les champs avec lesquels vous allez utiliser dans la table correspondante. Cela améliore l’efficacité d’exécution de l'interface BAPI, car les interfaces BAPI contiennent de très nombreux tables et champs.
-
-
Création de scripts dans DIRECT
-
Utilisez les liens ci-dessous pour plus d’informations