Partager via


Étape 2 : Créer un fichier de définition d’application pour les artefacts SAP

Étape 2 sur 4

Durée d’exécution : 15 minutes

Objectif: La fonctionnalité Business Data Catalog dans Microsoft SharePoint Server expose et incorpore des données provenant d’applications métier dans des portails. Pour incorporer ces données dans votre site portail, vous devez créer un fichier de définition d’application que Microsoft Office SharePoint Server peut utiliser.

L’outil Éditeur de définition d’entreprise Data Catalog, disponible avec le Kit de développement logiciel (SDK) Microsoft Office SharePoint Server 2007, vous permet de créer un fichier de définition d’application pour l’Data Catalog d’entreprise. Cet outil génère automatiquement un fichier XML pour le fichier de définition. Vous n’avez donc pas besoin de créer manuellement le fichier dans un éditeur XML.

L’objectif de l’application Microsoft Office SharePoint Server que vous créez est de :

  • Recherchez un client dans le système SAP en fonction d’un nom de client.

  • Sélectionnez un client dans la liste des clients extraits et récupérez les détails du client.

  • Sélectionnez un client dans la liste des clients extraits et récupérez les commandes client pour le client.

    Pour chacune de ces exigences, vous devez effectuer un ensemble de tâches dans l’outil Éditeur de définition business Data Catalog. Cette rubrique fournit des instructions sur la façon d’effectuer ces tâches.

Prérequis

Création d’un fichier de définition d’application

Cette rubrique fournit des instructions pas à pas pour créer un fichier de définition d’application pour le service WCF.

Se connecter au service métier WCF et créer des entités

Vous devez vous connecter au service WCF pour extraire le langage WSDL (Web Services Description Language) du service. À partir de WSDL, l’éditeur de définition business Data Catalog extrait les méthodes. Ces méthodes peuvent être utilisées pour créer des entités. Pour cet exemple, deux entités sont créées, une pour le client et les commandes client.

Pour se connecter au service WCF et créer des entités
  1. Démarrez l’Éditeur de définition de Data Catalog d’entreprise. Dans le menu Démarrer, cliquez sur Éditeur de définition Microsoft Business Data Catalog.

  2. Dans la barre d’outils, cliquez sur Ajouter un système métier.

  3. Dans la fenêtre Ajouter un système métier, cliquez sur Se connecter au webservice.

  4. Dans la zone URL , tapez l’URL du service WCF. L’URL doit être au format suivant :

    https://<computer_name>/Customer_Order/Rfc.svc?wsdl
    

    où Rfc.svc est le fichier créé pour le contrat Rfc.

    L’URL est disponible lorsque vous testez si le service WCF a été publié correctement, comme décrit dans la rubrique Étape 1 : Publier les artefacts SAP en tant que service WCF.

  5. Cliquez sur Connecter.

  6. Pour afficher les opérations que vous avez sélectionnées dans l’Assistant Développement du service d’adaptateur WCF, cliquez sur l’onglet Ajouter une méthode web . Les méthodes suivantes s’affichent :

    • SD_RFC_CUSTOMER_GET

    • BAPI_SALESORDER_GETLIST

      Ajouter des méthodes web à l’application BDC

      Faites glisser les méthodes vers la Surface de conception. Veillez à faire glisser les deux opérations vers les différentes entités.

      Créer des entités pour les méthodes web

  7. Cliquez sur OK.

  8. Dans la boîte de dialogue Entrer le nom du système métier , tapez un nom dans la zone Nom du système métier . Pour cet exemple, appelez-le Customer_Order, puis cliquez sur OK.

  9. Dans l’Éditeur de définition business Data Catalog, les deux entités sont répertoriées comme Entity0 et Entity1. Donnez à ces entités des noms conviviaux. Renommez l’entité pour SD_RFC_CUSTOMER_GET client, puis renommez l’entité pour BAPI_SALESORDER_GETLIST salesOrder. Effectuez les étapes suivantes pour renommer les entités :

    1. Développez le nœud Customer_Order , puis le nœud Entités .

    2. Sélectionnez le nœud Entity0 .

    3. Dans le volet Propriétés, tapez Client dans la zone Nom .

      Renommer l’entité

    4. Sélectionnez le nœud Entity1 .

    5. Dans le volet Propriétés, tapez SalesOrder dans la zone Nom .

Spécifier des en-têtes de nom d’utilisateur et de mot de passe pour les méthodes

Lors de la création d’un service WCF pour les RFC sélectionnés dans le système SAP, vous avez spécifié des en-têtes de nom d’utilisateur et de mot de passe dans le cadre de la configuration du comportement du point de terminaison. Consultez Étape 1 : Publier les artefacts SAP en tant que service WCF. Vous devez spécifier les mêmes valeurs pour les propriétés de la méthode.

Pour spécifier des en-têtes de nom d’utilisateur et de mot de passe
  1. Ajoutez le nom d’utilisateur et les en-têtes de mot de passe pour la méthode SD_RFC_CUSTOMER_GET.

    1. Dans le volet Objets de métadonnées, développez le nœud Client , puis le nœud Méthodes .

    2. Cliquez sur le nœud SD_RFC_CUSTOMER_GET, puis, dans le volet Propriétés, cliquez sur le bouton de sélection (...) par rapport à la zone Propriétés .

    3. Dans la fenêtre Éditeur de collection PropertyView, cliquez sur Ajouter et, dans le volet Propriétés, tapez HttpHeaderUserName pour la zone Nom . De même, tapez MyUserHeader pour la zone PropertyValue . Sélectionnez System.String pour la zone Type .

      Ajouter une propriété

    4. Dans la fenêtre Éditeur de collection PropertyView, cliquez sur Ajouter et, dans le volet Propriétés, tapez HttpHeaderPassword pour la zone Nom . De même, tapez MyPassHeader pour la zone PropriétéValue . Sélectionnez System.String pour la zone Type .

    5. Cliquez sur OK.

  2. Ajoutez le nom d’utilisateur et les en-têtes de mot de passe pour la méthode BAPI_SALESORDER_GETLIST.

    1. Dans le volet Objets de métadonnées, développez le nœud SalesOrder , puis le nœud Méthodes .

    2. Cliquez sur le nœud BAPI_SALESORDER_GETLIST, puis dans le volet Propriétés, cliquez sur le bouton de sélection (...) par rapport à la zone Propriétés .

    3. Dans la fenêtre Éditeur de collection PropertyView, cliquez sur Ajouter et, dans le volet Propriétés, tapez HttpHeaderUserName pour la zone Nom . De même, tapez MyUserHeader pour la zone PropertyValue . Sélectionnez System.String pour la zone Type .

    4. Dans la fenêtre Éditeur de collection PropertyView, cliquez sur Ajouter et, dans le volet Propriétés, tapez HttpHeaderPassword pour la zone Nom . De même, tapez MyPassHeader pour la zone PropriétéValue . Sélectionnez System.String pour la zone Type .

    5. Cliquez sur OK.

Configurer un Sign-On unique pour la connexion au système SAP

Une fois que vous avez terminé d’effectuer toutes les procédures de cette rubrique, vous avez créé un fichier de définition d’application qui peut être importé dans une application SharePoint. À partir de l’application, vous appelez les méthodes SAP pour récupérer les données pertinentes du système SAP. Pour cela, vous devez créer un mappage entre un utilisateur dans le système SAP et l’utilisateur de l’application SharePoint. Vous créez ce mappage dans la console Administration centrale de SharePoint après avoir importé le fichier de définition d’application.

Toutefois, pour créer le mappage, vous devez définir une propriété SecondarySsoApplicationId dans l’Éditeur de définition business Data Catalog.

Pour définir la propriété SecondarySsoApplicationId
  1. Dans le volet Objets de métadonnées, développez le nœud Customer_Order , puis le nœud Instances .

  2. Cliquez sur Customer_Order_Instance, puis dans le volet Propriétés, cliquez sur le bouton de sélection (...) dans la zone Propriétés .

  3. Dans la fenêtre Éditeur de collection PropertyView, cliquez sur Ajouter et, dans le volet Propriétés, tapez SecondarySsoApplicationId pour la zone Nom . De même, tapez SAPSSO pour la zone PropriétéValue . Sélectionnez System.String pour la zone Type .

    Ajouter la propriété SSO

  4. Cliquez sur OK.

Condition requise 1 : Rechercher des clients en fonction du nom du client

Pour créer un fichier de définition d’application qui peut être utilisé pour rechercher des clients en fonction du nom du client, vous devez effectuer l’ensemble de tâches suivant.

  • Dans la méthode SD_RFC_CUSTOMER_GET, créez un filtre et mappez-le au paramètre qui stocke le nom du client.

  • Créez une méthode Finder instance pour la méthode SD_RFC_CUSTOMER_GET. Une méthode Finder récupère une liste d’enregistrements en fonction d’un filtre.

Pour créer un filtre et le mapper au paramètre customer name
  1. Créez un filtre.

    1. Dans le volet Objets de métadonnées, développez le nœud Client , puis le nœud Méthodes .

    2. Développez la méthode SD_RFC_CUSTOMER_GET, cliquez avec le bouton droit sur Filtres, puis cliquez sur Ajouter un filtre.

      Ajouter un filtre à une méthode

    3. Dans le volet Propriétés, tapez CustomerName dans la zone Nom .

      Spécifiez un nom pour le filtre

    4. Pour la propriété FilterType , sélectionnez WildcardFilter.

  2. Mappez le filtre au paramètre NAME1 dans la méthode SD_RFC_CUSTOMER_GET.

    1. Dans le volet Objets de métadonnées, développez le nœud Client , puis le nœud Méthodes .

    2. Développez la méthode SD_RFC_CUSTOMER_GET, puis développez le nœud Paramètres .

    3. Développez le nœud NAME1 , puis cliquez sur le deuxième nœud NAME1 . Le paramètre NAME1 contient le nom du client.

    4. Dans le volet Propriétés, sélectionnez CustomerName dans la liste FilterDescriptor .

      Mapper le filtre à un paramètre

Pour créer une méthode Finder instance pour la méthode SD_RFC_CUSTOMER_GET
  1. Dans le volet Objets de métadonnées, développez le nœud Client , puis le nœud Méthodes .

  2. Développez le nœud SD_RFC_CUSTOMER_GET , cliquez avec le bouton droit sur Instances, puis cliquez sur Ajouter une instance de méthode pour ouvrir la fenêtre Créer une instance de méthode.

    Ajouter une méthode instance

  3. Dans la fenêtre Créer une instance de méthode, cliquez sur Finder pour Type d’instance de méthode. Sélectionnez CUSTOMER_T pour Return TypeDescriptor.

    Ajouter une méthode Finder instance

  4. Cliquez sur OK.

  5. Dans le volet Propriétés, tapez GetCustomerByName_Instance dans la zone Nom .

    Capture d’écran du volet Propriétés montrant le champ Nom mis en surbrillance et la valeur GetCustomerByName_Instance spécifiée.

Condition requise 2 : récupérer les détails d’un client spécifique à partir de la liste des clients

Pour créer un fichier de définition d’application qui peut être utilisé pour rechercher des clients en fonction du nom du client, vous devez effectuer l’ensemble de tâches suivant.

  • Dans la méthode SD_RFC_CUSTOMER_GET, créez un identificateur et mappez-le au paramètre qui stocke le numéro de client.

  • Créez une méthode Finder spécifique instance pour la méthode SD_RFC_CUSTOMER_GET. Une méthode Specific Finder recherche un enregistrement spécifique en fonction d’un identificateur.

Pour créer un identificateur et le mapper au paramètre de numéro de client
  1. Créez un identificateur pour l’entité Customer .

    1. Dans le volet Objets de métadonnées, développez le nœud Client .

    2. Cliquez avec le bouton droit sur le nœud Identificateurs , puis sélectionnez Ajouter un identificateur.

      Ajouter un identificateur à une méthode

    3. Dans le volet Propriétés, tapez CustomerID dans la zone Nom .

    4. Sélectionnez System.String pour la zone Type .

      Spécifiez un nom pour l’identificateur

  2. Mappez l’identificateur au paramètre de clé pour la méthode SD_RFC_CUSTOMER_GET.

    1. Dans le volet Objets de métadonnées, développez le nœud Client , puis le nœud Méthodes .

    2. Développez la méthode SD_RFC_CUSTOMER_GET, puis développez le nœud Paramètres .

    3. Développez le paramètre KUNNR , puis cliquez sur le deuxième nœud KUNNR .

    4. Dans le volet Propriétés, sélectionnez CustomerID[Customer] dans la liste Identificateur .

      Mapper l’identificateur à un paramètre

  3. Configurez une association entre les paramètres d’entrée et de retour.

    1. Dans le volet Objets de métadonnées, développez le nœud Client , puis le nœud Méthodes .

    2. Développez la méthode SD_RFC_CUSTOMER_GET, puis développez le nœud Paramètres .

    3. Développez le nœud CUSTOMER_T , puis le deuxième nœud CUSTOMER_T , puis le nœud Item , puis cliquez sur le nœud KUNNR .

    4. Dans le volet Propriétés, sélectionnez CustomerID[Customer] dans la liste Identificateur .

Pour créer une méthode Finder spécifique instance pour la méthode SD_RFC_CUSTOMER_GET
  1. Dans le volet Objets de métadonnées, développez le nœud Client , puis le nœud Méthodes .

  2. Développez le nœud SD_RFC_CUSTOMER_GET , cliquez avec le bouton droit sur Instances, puis sélectionnez Ajouter une instance de méthode pour ouvrir la fenêtre Créer une instance de méthode.

    Ajouter une méthode instance

  3. Dans la fenêtre Créer une instance de méthode, sélectionnez Recherche spécifique pour Type d’instance de méthode. De même, sélectionnez CUSTOMER_T pour Type de retourDescriptor.

    Ajouter une instance de méthode Finder spécifique

  4. Cliquez sur OK.

  5. Dans le volet Propriétés, tapez GetCustomerByNumber_Instance pour la zone Nom .

    Capture d’écran du volet Propriétés montrant le champ Nom mis en surbrillance et la valeur GetCustomerByNumber_Instance spécifiée.

Condition requise 3 : Récupérer les détails de la commande client pour un client spécifique à partir de la liste des clients

Pour créer un fichier de définition d’application qui peut être utilisé pour récupérer les détails des commandes client d’un client spécifique, vous devez effectuer l’ensemble de tâches suivant.

  • Configurez une association entre les entités Customer et SalesOrder .

  • Créez une méthode Association pour la méthode BAPI_SALESORDER_GETLIST.

Pour créer une association entre les entités Customer et SalesOrder
  1. Dans le volet Objets de métadonnées, développez le nœud SalesOrder , puis le nœud Méthodes .

  2. Développez la méthode BAPI_SALESORDER_GETLIST, puis développez le nœud Paramètres .

  3. Développez le nœud CUSTOMER_NUMBER , puis cliquez sur le deuxième nœud CUSTOMER_NUMBER .

  4. Dans le volet Propriétés, sélectionnez CustomerID[Customer] dans la liste Identificateur .

    Créer une association entre les deux entités

Pour créer une méthode Association instance pour la méthode BAPI_SALESORDER_GETLIST
  1. Dans le volet Objets de métadonnées, développez le nœud SalesOrder , puis le nœud Méthodes .

  2. Développez le nœud BAPI_SALESORDER_GETLIST , cliquez avec le bouton droit sur Instances, puis sélectionnez Ajouter une instance de méthode pour ouvrir la fenêtre Créer une instance de méthode.

    Ajouter une instance de méthode d’association

  3. Dans la fenêtre Créer une instance de méthode, sélectionnez Association pour Type d’instance de méthode.

  4. Dans la liste Entités sources , sélectionnez Client.

  5. Dans la liste Typedescriptor de retour , sélectionnez SALES_ORDERS..

    Créer une instance de méthode d’association

  6. Cliquez sur OK.

  7. Dans le volet Propriétés, tapez SalesOrderForCustomer_Instance pour la zone Nom .

    Spécifiez un nom pour la méthode d’association

Supprimer les paramètres de type System.Nullable

Lors de la création de la méthode Association instance pour la méthode BAPI_SALESORDER_GETLIST, vous avez sélectionné le type de retour comme SALES_ORDERS. Si vous développez le paramètre SALES_ORDER, vous remarquerez que certains paramètres sont de type System.Nullable. Vous pouvez voir le type de paramètre en sélectionnant le paramètre dans l’Éditeur de définition de Data Catalog d’entreprise et en examinant la valeur de la propriété TypeName.

Pour ces paramètres, l’Éditeur de définition d’entreprise Data Catalog crée un autre paramètre portant le même nom, mais avec un suffixe « Spécifié ». Par exemple, examinez les paramètres ITM_NUMBER et ITM_NUMBERSpecified. Microsoft Office SharePoint Server ne prend pas en charge les paramètres System.Nullable. Par conséquent, lorsque vous essayez des enregistrements qui contiennent le type de paramètre System.Nullable, une exception est levée. Par conséquent, vous devez supprimer les deux paramètres (avec et sans le suffixe « Spécifié » et ayant le même nom) de l’Éditeur de définition d’entreprise Data Catalog

Pour supprimer les paramètres de type System.Nullable
  1. Dans le volet Objets de métadonnées, développez le nœud SalesOrder , puis le nœud Méthodes .

  2. Développez le nœud BAPI_SALESORDER_GETLIST , puis le nœud Paramètres .

  3. Développez SALES_ORDERS, la deuxième SALES_ORDERS, puis l’élément.

  4. Cliquez avec le bouton droit sur le paramètre qui contient le suffixe « Spécifié » dans le nom, puis sélectionnez Supprimer.

  5. Cliquez avec le bouton droit sur le paramètre portant le même nom que le paramètre que vous avez supprimé, sans le suffixe, puis sélectionnez Supprimer. En règle générale, ce paramètre est juste avant le paramètre qui a le suffixe « Spécifié ».

Définir les paramètres par défaut

Le BAPI_SALESORDER_GETLIST prend deux paramètres. L’un de ces paramètres, TRANSACTION_GROUP, est le paramètre par défaut. Vous devez donc définir la valeur par défaut de ce paramètre.

Pour définir la valeur par défaut pour TRANSACTION_GROUP
  1. Dans le volet Objets de métadonnées, développez le nœud SalesOrder , puis le nœud Méthodes .

  2. Développez le nœud BAPI_SALESORDER_GETLIST , puis le nœud Instances .

  3. Sélectionnez la méthode SalesOrderForCustomer_Instance instance, puis, dans le volet Propriétés, cliquez sur le bouton de sélection (...) par rapport à la zone DefaultValues.

  4. Dans la fenêtre Modifier, développez TRANSACTION_GROUP nœud et, pour la zone TRANSACTION_GROUP , spécifiez la valeur par défaut 0.

    Spécifiez une valeur par défaut pour la méthode instance

  5. Cliquez sur Fermer.

Exporter la définition d’application vers un fichier

Vous avez maintenant créé une définition d’application qui contient les métadonnées du système SAP instance. Vous devez exporter cette définition vers un fichier XML, qui peut être importé dans Microsoft Office SharePoint Server.

Pour exporter la définition d’application dans un fichier
  1. Dans le volet Objets de métadonnées, cliquez avec le bouton droit sur le nœud Customer_Order , puis cliquez sur Exporter.

  2. Enregistrez le fichier sous Customer_Order.xml.

Étapes suivantes

Vous devez maintenant créer une application SharePoint pour récupérer des données à partir d’un système SAP. Pour obtenir des instructions , consultez Étape 3 : Créer une application SharePoint pour récupérer des données à partir de SAP .

Voir aussi

Didacticiel 1 : Présentation de données provenant d’un système SAP sur un site SharePoint