Atelier technique BAPI - PowerPoint PPT Presentation

About This Presentation
Title:

Atelier technique BAPI

Description:

Title: BCI Comp tences SAP HR Author: UNILOG Last modified by: installer Created Date: 3/16/2001 9:24:42 AM Document presentation format: Affichage l' cran – PowerPoint PPT presentation

Number of Views:141
Avg rating:3.0/5.0
Slides: 88
Provided by: UNIL56
Category:
Tags: abap | bapi | atelier | technique

less

Transcript and Presenter's Notes

Title: Atelier technique BAPI


1
Atelier techniqueBAPI
2
Sommaire
  • INTRODUCTION A LORIENTE OBJET
  • SAP ET LORIENTE OBJET
  • ACCES AUX BAPIS
  • MODIFICATION ET CREATION DE BAPIS
  • UTILISATION DES BAPIS

3
Pourquoi les BAPIS
  • Les BAPIs sont intégrées dans le Business
    Framework, nouvelle architecture conçue dans le
    but de rendre plus performante lintégration des
    différentes composantes SAP ou extérieure
  • Les BAPIs sont issues de la technologie orienté
    objet elles apportent modularité et souplesse à
    lenvironnement SAP.
  • Les BAPIs visent Internet en donnant la
    possibilité d interfacer des composantes de
    gestion SAP ou dautres éditeurs entres elles.
  • Les BAPIs traitent des processus de gestion et
    ouvre lALE à de nouvelles fonctionnalités.

4
Pourquoi les BAPIS
  • Des intégrations plus faciles
  • Intégration dapplications externes à R/3,
  • Autres interfaces frontales à un système R/3,
    pour satisfaire les besoins dutilisateurs
    occasionnels. Par exemple des macros pour
    applications de bureautique (Microsoft Windows,
    Excel ou Access).
  • Accès, basé sur le WEB, à un système R/3 par
    lintermédiaire dInternet ou dIntranet.

5
Introduction à lorienté objet
Généralités Objet de gestion Type dobjet et
Zones Clés Interface et Méthodes
6
Généralités
Présentation des différents objets
  • Objet de gestion
  • Type dobjet
  • Zones clés et instance
  • Interfaces
  • Méthodes

Lobjectif et le principal avantage de la
technologie orientée objet sont le caractère
réutilisable des logiciels.
7
Objet de gestion
  • Lobjet de gestion est la représentation dun
    objet  réel  dans une application de gestion
    telle que R/3.
  • Exemple  salarié  est un exemple dobjet de
    gestion
  • Un objet de gestion est à comparer avec une
     boîte noire  qui encapsule des données et des
    processus de gestion.
  • Pour le programmeur, les détails de la structure
    ne sont pas à connaître. Seule la couche
    dinterface est utilisée.

8
Objet de gestion - Structure
Lobjet de gestion est une modélisation dun
objet réel.
9
Objet de gestion - Structure
  • Les objets de gestions SAP sont constitués de
    quatre couches
  • Le noyau contenant la logique applicative
    fondamentale de gestion, cest-à-dire son
    positionnement au sein de la hiérarchie des
    objets.
  • La couche dintégrité, qui contient les
    contraintes internes et les règles de gestion qui
    sappliquent à lobjet.
  • La couche dinterface, qui contient les méthodes
    (BAPI), les attributs et les événements E/S.
    Cest linterface avec le monde extérieur.
  • La couche daccès proprement dite, basée sur les
    standards DCOM/COM, COBRA et OpenDOC. Il sagit
    des techniques permettant un accès externe aux
    données de lobjet.réel.

10
Type dobjet
  • Le type d objet (ou classe) est le terme
    générique pour désigner des objets du même type
    avec les données correspondantes.
  • Lobjet de gestion est un type dobjet avec un
    modèle de donnée (le modèle représente une entité
    fonctionnelle).
  • Lobjet  réel  est une instance de lobjet de
    gestion.
  • Exemples
  • Lensemble des salariés forme une instance de
    lobjet de gestion  salarié 
  • Le salarié Dupont portant le numéro de salarié
    3237 forme également une instance de lobjet de
    gestion  salarié .
  • .

11
Zones Clés
  • Les zones clés permettent daccéder à une
    instance spécifique dun type dobjet.
  • Exemple Le type d'objet Salarié et la zone
    clé Numéro.salarié sont des exemples dun type
    dobjet et d'une zone clé correspondante.

Remarque Il est possible daccéder aux données
de lobjet de gestion sans préciser la clé.
Linstance concerne lobjet de gestion et toutes
les données qui sy rattachent, par exemple la
liste des salariés.
12
Attributs
Un attribut contient des données relatives à un
objet de gestion et décrit ainsi une propriété
dobjet particulière. Par exemple,
Nom.salarié est un attribut du type dobjet
Salarié .
13
Interface
Linterface dun objet est constituée par un
ensemble de méthodes. Ces méthodes sont aussi
apparentées et associées à un type dobjet.
Pour un type dobjet, on peut lister toutes les
méthodes possibles.
14
Interface
  • Une méthode est une opération effectuée sur un
    objet de gestion et qui donne accès aux données
    de lobjet .
  • En dautres termes,
  • Une méthode sapplique à une instance dun type
    d objet,
  • Lexécution dune méthode permet daccéder aux
    données de lobjet. De cette manière, on peut
    contrôler, mettre à jour, créer des données.

15
Interface et dépendance à linstance
  • Une méthode est soit  dépendante de linstance 
    soit  indépendante de linstance selon quelle
    est liée à la clé.
  • Si elle est dépendante de linstance , elle
    sapplique à une instance spécifique du type
    d objet.
  • Exemple Dans les méthodes pour créer ou accéder
    à une commande d achat, la clé  commande
    d achat  est dans les paramètres dentrées.
  • Si elle est   indépendante de linstance  ,
    elle sapplique sur une instance globale sur le
    type d objet.
  • Exemple La méthode pour lire les commandes
    dachat sappuie sur toutes les commandes.

16
Avantages de lorienté objet
  • Meilleur compréhension pour lutilisateur. Le
    fonctionnement interne des méthodes est
     transparent  au monde extérieur.
  • Sécurité accès protégé aux attributs d un
    objet.
  • Évolution les objets sont réutilisables pour
    construire d autres objets (propriété
    d héritage).
  • Terminologie
  • La programmation orienté objet permet de créer
    un nouveau type dobjet à partir des types
    dobjets existants.Le nouveau type dobjet (sous
    type) hérite des propriétés et méthodes.
  • Le polymorphisme est le terme utilisé pour
    décrire les circonstances dans lesquelles la même
    méthode déclenche différents types de
    comportement dans divers types dobjets de
    gestion.

17
Récapitulatif
  • Un objet de gestion est une modélisation dun
    objet réel
  • Lobjet réel est une instance de lobjet de
    gestion
  • Les objets de gestion sont composés des éléments
    dinterfaces, de clés, dattributs, de méthodes.
  • Les méthodes dun objet de gestion sappliquent
    sur une instance.

18
Lorienté objet dans SAP
Généralités Historiques des BAPIs Avantages des
BAPIs Business Object Repository Business Object
Builder
19
Lorienté objet dans SAP
  • Dans SAP, les méthodes portent le nom de BAPIs,
    Business Applications Program Interfaces.
  • Par exemple, dans SAP, le type d objet
     Material  inclut la fonctionnalité de contrôle
    de disponibilité.
  • ? une BAPI appelé Material.Availability est la
    méthode utilisée pour faire ce contrôle.

20
Lorienté objet dans SAP
Un type dobjet tout comme une méthode a un
identifiant externe pour tout appel orienté objet
via OLE. Cet identifiant est une désignation
simple en anglais. Par exemple,  Material  pour
le type d objet  Article . Cependant, le nom
technique dans SAP est différent. Par exemple
 BUS1001  est le nom technique du type dobjet
 Article .
Des règles de développement sont associées à ces
noms.
21
Lorienté objet dans SAP
Dans SAP, les BAPIs sont actuellement mises en
œuvre sous la forme de modules fonctions.
Il est donc possible dexécuter une BAPI via le
BOR ou directement par le module fonction.
22
Historique des BAPIs
  • Les BAPIs sont apparues avec la version 3.1G.
  • Elles deviennent intéressantes avec la version
    4.0B.
  • De nouvelles BAPIs apparaissent de façon continue
    principalement orientées autour dInternet.

23
Avantage des BAPIs
  • Une interface indépendante des langages

24
Avantage des BAPIs
  • Une communication variée

Conforme aux nouvelles normes de communication
COM/DCOM...)
25
Avantage des BAPIs
  • Les BAPIs deviennent une norme de communication
    entre les systèmes de gestion.
  • Vous pouvez accéder aux objets de gestion SAP et
    à leurs BAPIs en utilisant des technologies
    d'interface orientées objet telles que
  • La technologie COM/DCOM (Component Object
    Model/Distributed Component Object Model) de
    Microsoft.
  • Les objets de gestion SAP sont déjà conformes aux
    spécifications de lOpen Applications Group (OAG)
    et, en relation avec
  • ObjectBridge de VisualEdge.
  • Elles sont conformes aux directives CORBA (Common
    Object Request Broker Architecture) de lObject
    Management Group.

26
Avantage des BAPIs
  • Une stabilité
  • SAP sengage à ne créer aucune régression sur les
    BAPIs suite à une montée de version.
  • Des extensions sur les BAPIs peuvent avoir lieu
    (ajout de paramètres facultatifs), mais sans
    déstabiliser le fonctionnement dapplications
    existantes.

27
Business Object Repository
  • Le Business Objet Repository, ou Navigateur BAPI
  • Décrit tous les types dobjets de gestion et
    leur méthodes
  • Constitue une interface pour les applications
    clientes qui veulent créer des objets dexécution
    dans SAP

28
Business Object Repository
Outils -gt Business Framework -gt Browser
BAPI Transaction BAPI
29
Business Object Repository
Le BOR permet de visualiser les méthodes et les
documentations associées d un type d objet.
30
Exercice
Dans le navigateur BAPI Trouver le type dobjet
 CompanyCode  (Société) Sur linterface
associée Trouver quelles sont les zones clés ?
Combien y a-t-il de méthodes BAPIs ? Vérifier
que la méthode  GetList  est indépendante de
linstance. Quel est la dépendance de la méthode
 GetPeriod ? Quels sont les paramètres de la
fonction  GetDetail  ? Dans quel paramètre se
trouve la zone  COMP_CODE  code société ? Quel
est le module fonction associé ?
31
Business Object Builder
SAP fournit cet outil de définition des types
d objet. Chemin Outils -gt Business Framework
-gt Développement BAPI -gt Business Object Builder
(transaction SWO1) Le Business Object Builder
permet d accéder à la définition des types
d objets standards, de les modifier, les
afficher ou d en créer de nouveaux. D autres
fonctions existent telles que  Contrôler ,
 Tester ,  générer  ou  Cas d emploi .
32
Business Object Builder
33
Exercice
A partir du navigateur BAPI, afficher le type
dobjet  CompagnyCode . Trouver le  type
dobjet (nom technique) ainsi que le nom
technique de la méthode associée
GetDetail Indication En double cliquant, un
saut est réalisé vers le Business Object Builder
en affichage. Il existe un lien réciproque pour
passer de lun à lautre. A partir de
lassistant  Business Object Builder , afficher
le type dobjet que vous avez trouvé ci
dessus. Retrouver la méthode GetDetail...
34
Récapitulatif
  • Trois assistants permettent de gérer les BAPIs
    dans SAP
  • Le Business Object Repository
  • Le Business Object Builder ou générateur
    d objet
  • Le générateur de fonctions (Transaction se37)

35
Accès aux BAPIs
Techniques dinterfaçage Accès par RFC Accès
orienté objet dans le BOR
36
Techniques dinterfaçage
  • Modes de communication
  • CPI-C était le mode de communication qui assurait
    la liaison de systèmes entre fonctions de bas
    niveau. CPI-C est toujours utilisé pour les
    communications R/2.
  • RFC simplifie la connexion CPI-C et est toujours
    utilisé comme un simple moyen de transmission de
    messages entre systèmes.
  • IDOC prend également en compte la technologie
    RFC de transmission (entre autres) et est utilisé
    dans le cadre d interface EDI (société à
    société) et dans l ALE (communication entre
    système d une société).
  • SAP Automation permet de faire communiquer
    n importe qu elle application (Web, système de
    téléphonie ) avec SAP. Il propose une interface
    directe sur SAP et repose sur une programmation
    directe du SAPGUI. SAP Automation 2 évolue et
    propose un ensemble d assistants aux
    développements. Il inclut en particulier le SAP
    assistant et Transaction Component.

37
Couche dapplication SAP R/3
RFC class Library est constitué d un ensemble
de classes C qui prennent en compte toutes les
fonctionnalité des API. Cette librairie
sinstalle lors de linstallation du Sapgui et
permet à nimporte quelle application externe
supportant le protocole RFC de communiquer avec
SAP.
38
Les différents accès aux BAPIS
  • Via le module fonction par RFC
  • Directement dans le BOR (accès orienté objet)

39
Les différents accès aux BAPIS
  • Accès de manière synchrone en général
  • A partir de la version 4.0, les BAPI peuvent
    également être utilisées pour effectuer un
    transfert de données asynchrone
  • dans le cadre de l'Application Link Enabling (ALE)

40
Accès par RFC
Laccès à la BAPI est effectué en passant des
Remote Function Calls (RFC) au module fonction
sur lequel la BAPI est basée.
41
Accès par RFC
  • RFC est un protocole de communication basé sur
    le protocole CPI-C. Il existe depuis la version
    2.2.
  • RFC permet la communication synchrone entre deux
    programmes un programme  client  appelle un
    module fonction d une application  serveur .
  • Pour passer un appel RFC, il faut spécifier les
    informations d'interface appropriées
  • des paramètres d'import qui contiennent des
    données à transférer du programme appelant à la
    BAPI,
  • des paramètres d'export qui contiennent des
    données à re transférer de la BAPI au programme
    appelant
  • des tables dimport/export pour importer et
    exporter des données.
  • Attention pas dexception ni de paramètres passés
    par référence (changing). La gestion des erreurs
    passe par des tables dédiées.

42
Accès par RFC
Au moment de l'exécution, le programme applicatif
utilise la bibliothèque RFC pour passer l'appel
RFC.
43
Exercice
Accès à une BAPI par RFC
A partir d un fichier Excel, appeler une BAPI
par RFC qui permet de ramener la liste des
clients. Aide Prendre le fichier Excel
fournit. Il existe une macro avec une trame.
Remplir ce qui manque.
44
Exercice
Quelques instructions VB utiles
Set R3 CreateObject("SAP.Functions") permet de
créer un objet R3 (objet serveur) avec Nom de
l'application qui fournit l'objet Serveur
 SAP  type d'objet  Functions  Lancement
de la connexion If App.Logon(0, False) ltgt True
Then MsgBox "peut pas LOGON!." Exit Sub End
If Création de l objet fonction RFC_XXX Set
MyFunc R3.Add("RFC_XXX" )
45
Exercice
Quelques instructions VB utiles
Appel de la fonction (méthode call) Result
MyFunc.call Récupération d un paramètre retour
de la fonction Set Customers MyFunc.Tables( "VBA
P") Où VBAP est le paramètre SAP d export de la
fonction.
46
Accès orienté objet dans le BOR
Laccès à la BAPI seffectue dans le BOR. Cette
possibilité nexiste quà partir de certaines
plates-formes.
47
Accès orienté objet dans le BOR
  • Les BAPIs sont appelées
  • A partir de plate-formes Windows 95 ou NT via OLE
    Automation.
  • Cette technologie permet daccéder aux objets de
    gestion SAP du BOR en appelant les BAPIs depuis
    un programme externe (SAP en tant que serveur
    OLE).
  • Au moment de l'exécution, lapplication cliente
    accède aux objets de gestion SAP et à leurs BAPI
    en adressant des ordres OLE Automation au BAPI
    ActiveX Control (à partir de 3.1G).
  • A partir de plate-formes Windows 95 ou NT en
    utilisant la bibliothèque de classes C.

48
Accès orienté objet dans le BOR
  • A partir de plate-formes avec une machine
    virtuelle Java supportant le Java Developpement
    Kit en utilisant la bibliothèque de classes Java
  • A partir de Visual Age dIBM
  • A partir des environnements de développement
    Delphi et Borland

49
Object Linking and Embedding
Object Linking and Embedding (OLE) est une
technologie développée par Microsoft. A
lorigine OLE est un mécanisme permettant aux
applications de créer et de gérer des documents
contenant des données ou des objets de formats
différents. Exemples  des enregistrements
sonores, des tableaux, du textes, des images
Lutilisateur a donc limpression de nutiliser
quune seule application. Par la suite,
Microsoft a standardisé le principe OLE avec la
définition de COM (Component Object Model) et
DCOM (Distributed COM). Ces normes proposent une
méthodes communes daccès aux services de
différents types de logiciels et lutilisation de
serveurs distants.
50
Les étapes OLE
  • Création dun objet BAPI ActiveX Control
  • Ordre de création dune instance locale de
    lobjet de gestion SAP
  • Appel de la méthode sur les objets de gestion
  • Lancement de lobjet de gestion SAP et
    libération de lobjet BAPI ActiveX Control

51
Les étapes OLE
Création dun objet BAPI ActiveX Control
La commande VB Set oBAPICtrl CreateObject("SAP.B
API.1") permet de créer l objet BAPI ActiveX
Control  oBAPICtrl .
Un objet BAPI ActiveX Control est créé grâce à
cette commande OLE
Set R3 CreateObject("SAP.BAPI.1") permet de
créer un objet ActiveX avec comme nom de
l'application qui fournit l'objet Serveur
 SAP , et type d'objet BAPI.1.
52
Les étapes OLE
Ordre de création d'une instance locale de
l'objet de gestion SAP
A partir de l objet ActiveX  oBAPICtrl  et de
la méthode OLE  GetSAPObject , on accède à
lobjet de gestion SAP SalesOders Set boOrder
oBAPICtrl.GetSAPObject("SalesOrder")
Lapplication cliente accède désormais à l objet
de gestion SAP  sales orders  et à toutes ses
BAPIs.
53
Les étapes OLE
Appel des BAPIs sur lordre de gestion
Une fois lobjet de gestion créé, on peut appeler
ses BAPIs grâce à lordre OLE
boOrder.CreateFromData OrderHeaderInoHeader,
_ OrderPartnersoPartners,
_ OrderItemsInoItemsIn,
_ ReturnoReturn Dans
lexemple ci-dessus, la BAPI est
 CreateFromData  avec ses paramètres d import,
export et tables.
54
Les étapes OLE
Avant daccéder aux objets de gestion, il est
nécessaire de se connecter au système SAP.
Connexion par BAPI ActiveX Control 'Paramètre
de connexion (ajouter éventuellement 'les
paramètres d environnement) oBAPICtrl.Connection
.Client "ltclientgt" oBAPICtrl.Connection.User
"ltuser namegt" oBAPICtrl.Connection.Language
"ltlanguagegt" 'Ouvre la connexion
oBAPICtrl.Connection.Logon
55
Les étapes OLE
Connexion par le LOGON ActiveX Control
'Création de l objet Logon ActiveX  Set
oLogonCtrl CreateObject("SAP.LogonControl.1")
'Création d une nouvelle connexion dans le
BAPI 'ActiveX Control Set oBAPICtrl.Connection
oLogonControl.NewConnection 'Paramètre de
connexion (rajouter éventuellement 'les
paramètres d environnement) oBAPICtrl.Connection
.Client "ltclientgt" oBAPICtrl.Connection.User
"ltuser namegt" oBAPICtrl.Connection.Language
"ltlanguagegt" 'Ouvre la connexion
oBAPICtrl.Connection.Logon
56
Exercice
Accès à une BAPI via le BOR
A partir dun fichier Excel, appeler une BAPI qui
permet de ramener la liste des clients. Aide
Prendre le fichier Excel fournit. Il existe une
macro avec une trame. Remplir ce qui manque.
57
Récapitulatif
  • Laccès à une BAPI se fait
  • Via le module fonction par RFC
  • Directement dans le BOR (accès orienté objet),
  • La création dune instance dans le BOR se fait
    en trois temps
  • Création dun objet BAPI ActiveX
  • Création dune instance sur l objet de gestion
  • Exécution dune méthode
  • Dans tous les cas, un Logon doit être effectué
    sur le système SAP. La technique utilisée lors du
    lancement d une méthode est lappel RFC.

58
Modification Créationde BAPIs
Business Object Builder Modification des
BAPIs Création dun nouveau type dobjet
59
En amont
  • Il faut détailler les processus et situations
    dans lesquels la BAPI sera utilisée. Il sagit de
    définir
  • Le processus modèle, celui qui sera le plus
    souvent employé,
  • Quelles seront les objets de gestion impliqués,
  • Les fonctionnalités de la BAPI et les relations
    avec les BAPIs existantes.
  • IMPORTANT Avant de se lancer sur une modification
    de BAPI, vérifier sil nexiste pas dexit client
    dans le module fonction concerné et qui
    permettrait de répondre au besoin.
  • Exemple avec la lecture des données d un client
    (scénario déjà présent dans SAP...)
  • Scénario tout d abord, une listes des clients
    doit être affiché, à partir de laquelle le détail
    d un client spécifique sera affiché.

60
Présentation du Business Object Builder
  • Exemple sur le BUS2012
  • Transaction SWO1
  • Chemin Outils -gt Business Framework -gt
    Développement BAPI -gt Business Object Builder

61
Présentation du Business Object Builder
62
Les éléments
  • Catégorie dobjet le type dobjet ou lobjet
    de gestion
  • Type délément les interfaces, les zones clés,
    les attributs, les méthodes et les événements.
  • Élément hérité le type dobjet est un sous
    type dun type dobjet contenant cette méthode.

63
Les données de base dun type dobjet
64
Les données de base dun type dobjet
  • Le programme d'implémentation à chaque type
    d'objet correspond un programme ABAP/4 dans
    lequel sont implémentées les méthodes du type
    d'objet.
  • Les statuts du type d objet un statut de
    génération, un statut de sauvegarde (création et
    modification), un statut d implémentation (ou de
    validation)
  • Les désignations courtes et longues
  • La relation avec un modèle de donnée
  • Lapplication (ex. Gestion des articles)
  • La classe de développement

65
Le détail dune méthode
Pour rechercher le module fonction d une
méthode, double cliquez sur celle-ci et
sélectionner  ABAP/4 .
66
Le statut dune méthode
  • modélisé La méthode vient dêtre créée.
  • implémenté La méthode est opérationnelle et
    peut être appelée.
  • libéré Toutes les méthodes ont été implémentées
    (ou sont obsolètes).
  • obsolète Les méthodes ou les types d objets ne
    sont plus utilisé.
  • N.B. Pour changer de version à un type d objet,
    tous les éléments du type d objet doivent être
    dans une version inférieure.

67
Le statut dune méthode
  • Attribut de relation Lattribut est lié à un
    autre type dobjet
  • Modélisée A la création ou par copie dun type
    dobjet, le statut dun élément est modélisée,
    cest à dire créé mais non utilisable.
  • Méthode API Ce code indique sil sagit dune
    composante de lAPI livrée par SAP (voir les
    Business API).
  • Implémentation locale recommandée Elément non
    actif mais que SAP recommande dimplémenter.
  • Élément locale Décrit une méthode du type
    délément  méthodes 

68
Les différentes démarches
  • Modification dune BAPI existante - création
    dune BAPI sur un type existant
  • 1- Création dun sous-type du type concerné
  • 2- Création dune nouvelle BAPI  par copie 
  • Création dun nouveau type d objet
  • 1- Création dun nouveau type
  • 2- Création dune nouvelle BAPI

69
Modification des BAPIs
  • La modification de BAPI est possible. Par
    exemple, un ajout de paramètres à une BAPI
  • Il est également possible de créer une nouvelle
    méthode sur un objet...
  • Aucune modification du standard SAP ne doit être
    effectuée afin dassurer le bon fonctionnement de
    la BAPI suite à une montée de version

70
Modification des BAPIs
Première étape Copie dun type dobjet
Par création dun sous type de lobjet de gestion
concerné afin détendre les méthodes BAPIs du
nouveau type dobjet. Respecter les normes de
développements le type dobjet, le nom dobjet,
le modèle de donnée et le programme
dimplémentation commencent par Z ou Y
71
Modification des BAPIs
Première étape Copie dun type dobjet
72
Modification des BAPIs
Première étape Copie dun type dobjet
73
Modification des BAPIs
Deuxième étape Copie de la méthode à modifier
Création dune nouvelle BAPI par copie dune BAPi
existante A) Copie du module fonction. Pour
trouver le module fonction de la méthode,
double-cliquez sur celle-ci et sélectionner
l onglet  ABAP/4 . Cest ce module fonction
quil faut copier (de manière classique par la
SE37). B) Modification du module copié C)
Affectation du module comme une méthode dun type
dobjet
74
Modification des BAPIs
Copie du module fonction
  • Donner un nom au module fonction. Par
    convention, nous pouvons utiliser Z_BAPI_ltnom de
    lobjet de gestiongt_ltnom de la méthodegt. Exemple,
    Z_BAPI_CREDITOR_GETDETAIL
  • Remarque Dans certains cas il vaut mieux copier
    tous les éléments du groupe fonction. Une copie
    de groupe fonction peut être réalisée par le
    Browser Repository (transaction se80)
  • Définition de nouvelles structures qui seront
    utilisées par la BAPI
  • Ces structures sont utilisées comme paramètres
    dimport, dexport ou table de la BAPI. les
    paramètres de ces modules fonctions dédiées à une
    BAPI ne doivent pas contenir dexceptions et de
    paramètres passés par référence (CHANGING).

75
Modification des BAPIs
Cas 1 la BAPI doit créer une instance (ex.
CreateFromData) La zone clé du type dobjet être
présent dans les paramètres dexport du module
fonction. Ces BAPIs retourne une valeur clé
(par ex. un n de commande pour la BAPI
SalesOrders.CreateFromData). Cas 2 la BAPI
ramène le détail dun objet (ex. GetDetail) La
zone clé du type dobjet est inclus dans les
paramètre dimport du module fonction. De cette
façon, on accède à une instance spécifique du
type dobjet. Cas 3 la BAPI est une méthode
instance-indépendante La zone clé nest pas dans
les paramètres dimport/export.En général, ces
BAPIs retourne une table avec des valeurs
sélectionnables.
76
Modification des BAPIs
  • Identifier le nom du groupe fonction un
    nouveau nom pour ne pas faire de modification de
    standard.
  • Remarque Le nom technique dun objet de gestion
    est de la forme BUSnnnn. La fin de ce nom nnnn
    sert souvent pour nommer le groupe fonction.
  • Nommer les paramètres du module fonction
    compréhensible car utilisé ensuite dans le BOR,
    en anglais, inférieur à 20 CH , en lettres
    capitales.

77
Modification des BAPIs
  • Pour insérer une nouvelle méthode
  •  Utilitaires -gt Méthodes API -gt Insérer méthode 

ATTENTION à partir de la version 4.0, les noms
des paramètres (structure ou champ) doivent être
identiques entre le module fonction et la BAPI.
Lassistant génère alors un modèle dappel du
module fonction. Pour le visualiser, faire
 programme  après avoir positionner le curseur
sur la méthode. A priori, ce programme nest pas
à modifier, SAP génère le code approprié.
78
Exercice
 Modifier  la BAPI GetList de lobjet
CompanyCode dans le but de ramener seulement les
codes sociétés qui ont une devises en
FRF. Méthode 1 en modifiant le code ABAP de la
méthode. Méthode 2 en ajoutant un paramètre à
la méthode.
79
Création dun nouveau type dobjet
  • En amont, il sagit de détailler les processus et
    situations dans lesquels ce type dobjet sera
    utilisé
  • le processus modèle, celui qui sera le plus
    souvent employé,
  • les fonctionnalités de la BAPI et les relations
    avec les BAPIs existantes.

Éléments créés par défaut
L interface est par défaut celle standard et est
composé de deux méthodes  ExistenceCheck  et
 Display .
80
Création dun nouveau type dobjet
Définition de la zone clé
Rappel la clé dun lobjet de gestion identifie
une instance unique dun objet de gestion.
Si la BAPI que vous voulez définir est avec une
clé instance-dépendante (ie. Vous voulez créer ou
acceder à une instance spécifique), les zones de
clé doivent figurées avec le même nom dans les
paramètres de votre module fonction.
81
Création dun nouveau type dobjet
Définition des paramètres
Les paramètres dans le Business Object Builder
ont les mêmes noms que ceux du module
fonction. Ceux-ci peuvent être définis en
référence ou non à une zone du DDIC. Il existe
un paramètre particulier le paramètre RETURN
dans le module fonction et Return dans la
méthode.
82
Création dun nouveau type dobjet
Gestion du paramètre  RETURN 
Ce paramètre Return de la méthode est un
paramètre dexport du module fonction (paramètre
RETURN).
Version 4 la fonction BALW_BAPIRETURN_GET2
permet de mettre en forme le message. Version 3
la fonction MESSAGE_SET_AND_CONVERT permet de
mettre en forme le message. RETURN à la structure
de BAPIRETURN.
83
Release dune BAPI
  • Après adaptations et tests de la BAPI, il est
    conseillé de la libérer et de geler son
    développement.
  • Libération du module fonction (SE37)
  • Libération de la méthode (SWO1)
  • Gel de la méthode (SWO1)
  • Ceci permet déviter de malencontreuses
    modifications car ces modifications sont
    contrôlées avec la référence gelée
    compatibilité avec le BOR et le DDIC.

84
Utilisation des BAPIs
Autorisation Performance BAPI et ALE
85
Autorisation
  • Pour exécuter une BAPI dans SAP, il faut les
    autorisations appropriées. Celles-ci sont
    précisées dans le profil utilisateur de la même
    façon que l utilisateur travaillant dans SAP.
  • Pour avoir le détail des autorisations liées à
    une méthode, lire la documentation de la BAPI
    (via le navigateur BAPI).

86
Performance
  • Accès aux tables avec clé unique
  • Éviter les accès inutiles
  • Utiliser des tables internes
  • Éviter les process parallèles
  • Utilisation de buffers lors de lattribution de
    numéros (ceci afin de réduire la période de
    blocage des tables)
  • Préférer linstruction update à insert
  • Faire les updates aussi près que possible dun
    commit work
  • Toutes les tables qui ne sont pas protégées
    contre un blocage doivent être mises à jour dans
    le même ordre afin déviter un deadlock

87
BAPI et ALE
  • Depuis la version 4.0, des BAPI asynchrones
    existent et permettent de générer un IDOC et
    ainsi dutiliser le scénario ALE approprié.
  • Ce quil faut savoir
  • Pas de commit work dans la BAPI
  • Seul le paramètre Return de la BAPI est renvoyé
    au système source et celui-ci doit être référencé
    à la structure BAPIRETURN1 ou BAPIRET2. Les
    autres ne sont pas inclus dans lIDOC créé.
  • Suite à la réception de lIDOC et à sa
    transformation en BAPI, le statut de lIDOC passe
    à
  • - 51 (application document has not been posted)
    ou
  • - 53 (application document posted).
Write a Comment
User Comments (0)
About PowerShow.com