Partager via


Interroger Oracle E-Business Suite à l’aide de l’instruction SELECT

Vous pouvez configurer l’adaptateur Oracle E-Business pour recevoir des messages de modification de données périodiques à l’aide d’une instruction SELECT pour interroger en continu les tables d’interface, les vues d’interface, les tables et les vues dans Oracle E-Business Suite. Vous pouvez spécifier une instruction SELECT en tant qu’instruction d’interrogation que l’adaptateur exécute régulièrement pour interroger Oracle E-Business Suite. Vous pouvez également spécifier un bloc de code PL/SQL post-interrogation que l’adaptateur exécute après l’exécution de l’instruction d’interrogation.

Pour activer l’interrogation, vous devez spécifier certaines propriétés de liaison sur le WCF-Custom ou WCF-OracleEBS port de réception. Pour plus d’informations sur la façon dont l’adaptateur prend en charge l’interrogation, consultez Prise en charge des appels entrants à l’aide de l’interrogation. Pour plus d’informations sur la structure du message SOAP pour les opérations d’interrogation, consultez Schémas de message pour les opérations d’interrogation.

Configuration d’une opération d’interrogation avec les propriétés de liaison de l’adaptateur Oracle E-Business Suite

Le tableau suivant récapitule les propriétés de liaison de l’adaptateur Oracle E-Business que vous utilisez pour configurer l’adaptateur afin de recevoir des messages de modification de données. Vous devez spécifier ces propriétés de liaison lors de la configuration du port de réception dans BizTalk Server console Administration.

Binding, propriété Description
InboundOperationType Spécifie si vous souhaitez effectuer une opération entrante d’interrogation ou de notification . La valeur par défaut est Interrogation.
PolledDataAvailableStatement Spécifie l’instruction SQL que l’adaptateur exécute pour déterminer si des données sont disponibles pour l’interrogation. Uniquement si un enregistrement est disponible, l’instruction SELECT que vous spécifiez pour la propriété de liaison PollingInput est exécutée.
PollingInterval Spécifie l’intervalle, en secondes, auquel l’adaptateur Oracle E-Business exécute l’instruction spécifiée pour la propriété de liaison PolledDataAvailableStatement . La valeur par défaut est 30 secondes. L’intervalle d’interrogation détermine l’intervalle de temps entre les sondages successifs. Si l’instruction est exécutée dans l’intervalle spécifié, l’adaptateur est mis en veille pendant la durée restante de l’intervalle.
PollingInput Spécifie l’instruction d’interrogation. Pour interroger à l’aide d’une instruction SELECT, vous devez spécifier une instruction SELECT pour cette propriété de liaison. La valeur par défaut est null.

Vous devez spécifier une valeur pour la propriété de liaison PollingInput pour activer l’interrogation. L’instruction d’interrogation est exécutée uniquement si des données sont disponibles pour l’interrogation, ce qui est déterminé par la propriété de liaison PolledDataAvailableStatement .
PollingAction Spécifie l’action de l’opération d’interrogation. Vous pouvez déterminer l’action d’interrogation d’une opération spécifique à partir des métadonnées que vous générez pour l’opération à l’aide du complément Consume Adapter Service.
PostPollStatement Spécifie un bloc d’instructions exécuté après l’exécution de l’instruction spécifiée par la propriété de liaison PollingInput .
PollWhileDataFound Spécifie si l’adaptateur Oracle E-Business ignore l’intervalle d’interrogation et exécute en continu l’instruction d’interrogation, si des données sont disponibles dans la table interrogée. Si aucune donnée n’est disponible dans la table, l’adaptateur rétablit pour exécuter l’instruction d’interrogation à l’intervalle d’interrogation spécifié. La valeur par défaut est false.

Pour obtenir une description plus complète de ces propriétés, consultez En savoir plus sur les propriétés de liaison de l’adaptateur BizTalk pour Oracle E-Business Suite. Pour obtenir une description complète de l’utilisation de l’adaptateur Oracle E-Business pour interroger la base de données Oracle, lisez plus loin.

Comment cette rubrique illustre l’interrogation

Dans cette rubrique, pour montrer comment l’adaptateur Oracle E-Business prend en charge la réception de messages de modification de données à l’aide d’instructions SELECT, créez un projet BizTalk et générez le schéma pour l’opération d’interrogation pour la table que vous souhaitez interroger. Dans cette rubrique, nous générons le schéma pour l’opération d’interrogation pour la table d’interface MS_SAMPLE_EMPLOYEE dans l’application Bibliothèque d’objets d’application . Cette table est créée lorsque vous exécutez le script create_apps_artifacts.sql fourni avec les exemples pour créer ces objets dans Oracle E-Business Suite.

Ensuite, nous allons utiliser le routage basé sur le contenu (CBR) dans BizTalk Server pour configurer une application avec un port de réception qui recevra des messages d’interrogation à partir de la table d’interface MS_SAMPLE_EMPLOYEE, puis l’acheminons vers un port d’envoi. Dans ce cas, nous allons créer un filtre sur le port d’envoi qui vérifie l’emplacement de réception spécifié, et le message est routé vers le port d’envoi.

Pour illustrer une opération d’interrogation, nous procédons comme suit :

  • Spécifiez une instruction SELECT pour la propriété de liaison PolledDataAvailableStatement afin de déterminer où la table d’interface interrogée (MS_SAMPLE_EMPLOYEE) contient des données. Dans cet exemple, vous pouvez définir cette propriété de liaison comme suit :

    SELECT COUNT (*) FROM MS_SAMPLE_EMPLOYEE  
    

    Cela garantit que l’adaptateur exécute l’instruction d’interrogation uniquement lorsque la table d’interface MS_SAMPLE_EMPLOYEE contient des enregistrements.

  • Spécifiez une instruction SELECT pour la propriété de liaison PollingInput . Cette instruction récupère toutes les lignes de la table d’interface MS_SAMPLE_EMPLOYEE. Dans cet exemple, vous pouvez définir cette propriété de liaison comme suit :

    SELECT * FROM MS_SAMPLE_EMPLOYEE FOR UPDATE  
    

    Notes

    Pour plus d’informations sur la clause FOR UPDATE utilisée dans l’instruction SELECT, consultez Interroger Oracle E-Business Suite à l’aide de l’instruction SELECT.

  • Spécifiez une instruction DELETE dans le cadre de la propriété de liaison PostPollStatement . Cette instruction supprime toutes les données de MS_SAMPLE_EMPLOYEE table d’interface. Dans cet exemple, vous pouvez définir cette propriété de liaison comme suit :

    DELETE FROM MS_SAMPLE_EMPLOYEE  
    

    Une fois que cela se produit, la prochaine fois que l’instruction spécifiée pour PollingInput sera exécutée, elle n’extrairea aucune donnée.

  • Tant que des données supplémentaires ne seront pas ajoutées à la table d’interface MS_SAMPLE_EMPLOYEE, vous n’obtiendrez aucun message d’interrogation. Vous devez donc remplir à nouveau la table d’interface MS_SAMPLE_EMPLOYEE avec de nouveaux enregistrements. Pour ce faire, exécutez le script insert_apps_data.sql fourni avec les exemples. Après avoir exécuté ce script, l’opération d’interrogation suivante extrait les nouveaux enregistrements insérés dans la table.

Comment recevoir des messages de modification de données à partir d’Oracle E-Business Suite

L’exécution d’une opération sur une base de données Oracle à l’aide de l’adaptateur Oracle E-Business avec BizTalk Server implique les tâches procédurales suivantes décrites dans Blocs de construction pour créer des applications Oracle E-Business Suite. Pour configurer l’adaptateur pour interroger Oracle E-Business Suite à l’aide d’une instruction SELECT, les tâches suivantes sont les suivantes :

  1. Créez un projet BizTalk et générez le schéma pour l’opération Interroger pour la table d’interface que vous souhaitez interroger.

  2. Générez et déployez le projet BizTalk.

  3. Configurez l’application BizTalk en créant des ports de réception et d’envoi. En outre, ajoutez un filtre sur le port d’envoi afin qu’il vérifie l’emplacement de réception spécifié dans le port de réception et que le message d’interrogation soit routé vers le port d’envoi.

    Important

    Pour les scénarios d’interrogation entrante, vous devez toujours configurer un port de réception unidirectionnel. Les ports de réception bidirectionnel ne sont pas pris en charge pour les opérations entrantes.

  4. Démarrez l’application BizTalk.

    Cette rubrique fournit des instructions pour effectuer ces tâches.

Exemple basé sur cette rubrique

Un exemple, PollingUsingSelectStatement, basé sur cette rubrique, est également fourni avec le pack d’adaptateurs BizTalk. Pour plus d’informations, consultez Exemples.

Génération du schéma

Vous devez générer le schéma de l’opération Poll sur la table d’interface MS_SAMPLE_EMPLOYEE dans l’application Bibliothèque d’objets d’application . Effectuez les tâches suivantes lors de la génération du schéma à l’aide du complément Consume Adapter Service.

  • Sélectionnez le type de contrat Service (opération entrante).

  • Générez le schéma pour l’opération Poll sur la table d’interface MS_SAMPLE_EMPLOYEE. Vous pouvez sélectionner l’opération et la table d’interface à partir du nœud Vue basée sur l’application ou du nœud Vue basée sur les artefacts .

    Pour plus d’informations sur la façon de générer un schéma, consultez Parcourir, Rechercher et obtenir des métadonnées pour les opérations Oracle E-Business Suite.

Génération et déploiement du projet BizTalk

Vous devez maintenant générer la solution BizTalk et la déployer sur un BizTalk Server. Pour plus d’informations sur le déploiement de la solution sur BizTalk Server, consultez Déploiement d’assemblys BizTalk à partir de Visual Studio dans une application BizTalk.

Configuration de l’application BizTalk

Une fois que vous avez déployé le projet BizTalk, l’application est répertoriée sous le nœud Applications dans la console d’administration BizTalk Server. Vous devez utiliser la console d’administration BizTalk Server pour configurer l’application. Dans le cadre de la configuration de l’application, vous devez créer un port de réception et un port d’envoi dans l’application, puis ajouter un filtre au port d’envoi afin que tous les messages du port de réception soient routés vers le port d’envoi.

La configuration d’une application implique :

  • Sélection d’un hôte pour l’application.

  • Création de ports de réception et d’envoi.

Création d'un port de réception

Vous devez créer un WCF-Custom ou WCF-OracleEBS port de réception unidirectionnel, qui interroge Oracle à l’aide de l’instruction SELECT spécifiée pour la propriété de liaison PollingInput . Pour plus d’informations sur la création de ports de réception, consultez Configuration manuelle d’une liaison de port physique à l’adaptateur Oracle E-Business. Lors de la création du port de réception, veillez à spécifier les propriétés de liaison suivantes.

Pour l’interrogation

Binding, propriété Valeur
InboundOperationType Définissez cette valeur sur Interrogation.
PolledDataAvailableStatement Pour cet exemple, définissez cette propriété de liaison sur :

SELECT COUNT (*) FROM MS_SAMPLE_EMPLOYEE
PollingAction Récupérez l’action d’interrogation à partir du schéma généré pour l’opération Poll sur MS_SAMPLE_EMPLOYEE table d’interface. Pour cet exemple, définissez cette propriété de liaison sur InterfaceTables/Poll/FND/APPS/MS_SAMPLE_EMPLOYEE.
PollingInput Pour cette propriété de liaison, spécifiez une instruction SELECT pour récupérer tous les enregistrements de la table d’interface MS_SAMPLE_EMPLOYEE. Pour cet exemple, définissez cette propriété de liaison sur :

SELECT * FROM MS_SAMPLE_EMPLOYEE FOR UPDATE
PostPollStatement Spécifiez l’instruction post-sondage pour supprimer toutes les données de la table d’interface MS_SAMPLE_EMPLOYEE. Pour cet exemple, définissez cette propriété de liaison sur :

DELETE FROM MS_SAMPLE_EMPLOYEE

Pour définir le contexte d’application

Si vous effectuez une opération sur des artefacts Oracle E-Business Suite, vous devez spécifier des valeurs pour les propriétés de liaison appropriées pour définir le contexte de l’application. Pour plus d’informations sur le contexte d’application et les propriétés de liaison requises pour définir le contexte d’application, consultez Définir le contexte d’application.

Pour cet exemple, spécifiez les valeurs appropriées pour les propriétés de liaison oracleUserName, oraclePassword et oracleEBSResponsibility .

Notes

Nous vous recommandons de configurer le niveau d’isolation des transactions et le délai d’expiration de la transaction lors de l’exécution d’opérations entrantes à l’aide de l’adaptateur Oracle E-Business. Vous pouvez le faire en ajoutant le comportement du service lors de la configuration du port de réception. Pour obtenir des instructions sur l’ajout du comportement du service, consultez Configurer le niveau d’isolation des transactions et le délai d’expiration des transactions avec Oracle E-Business Suite.

Création d'un port d'envoi

Définissez un emplacement sur le disque dur et créez un port d’envoi FILE correspondant où BizTalk Server supprimera les messages d’Oracle. Ces messages seront en réponse à l’instruction d’interrogation que vous spécifiez pour le port de réception. Pour plus d’informations sur la création de ports d’envoi, consultez Configuration manuelle d’une liaison de port physique à l’adaptateur Oracle E-Business.

Vous devez également ajouter un filtre sur le port d’envoi pour acheminer les messages à partir de l’emplacement de réception. Pour ajouter un filtre au port d’envoi :

  1. Double-cliquez sur le port d’envoi pour ouvrir la boîte de dialogue Propriétés du port d’envoi.

  2. Dans la boîte de dialogue Propriétés du port d’envoi, cliquez sur l’onglet Filtres .

  3. Spécifiez les valeurs suivantes :

    • Dans la liste Propriété , cliquez sur BTS. ReceivePortName.

    • Dans la liste Opérateur , cliquez sur ==.

    • Dans le champ Valeur , spécifiez le nom du port de réception.

  4. Dans la boîte de dialogue Propriétés du port d’envoi , cliquez sur OK.

Démarrage de l’application

Vous devez démarrer l’application BizTalk pour interroger Oracle E-Business Suite. Pour obtenir des instructions sur le démarrage d’une application BizTalk, consultez Guide pratique pour démarrer une orchestration.

À ce stade, assurez-vous que :

  • Le WCF-Custom ou WCF-OracleEBS port de réception unidirectionnel, qui interroge Oracle à l’aide de l’instruction SELECT spécifiée pour la propriété de liaison PollingInput , est en cours d’exécution.

  • Le port d’envoi FILE, qui reçoit les messages de la base de données Oracle, est en cours d’exécution.

Exécution de l’opération

Après avoir exécuté l’application, l’ensemble d’actions suivant se produit, dans la même séquence :

  • L’adaptateur exécute le PolledDataAvailableStatement qui retourne une valeur positive indiquant que l’adaptateur doit exécuter l’instruction spécifiée pour la propriété de liaison PollingInput .

  • L’adaptateur exécute l’instruction SELECT pour la propriété de liaison PollingInput et retourne toutes les lignes de la table d’interface MS_SAMPLE_EMPLOYEE. La réponse d’Oracle E-Business Suite ressemble à ce qui suit :

    <?xml version="1.0" encoding="utf-8" ?>   
    <Poll xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/FND/APPS/MS_SAMPLE_EMPLOYEE">   
      <DATA>   
        <SelectRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE">   
         <EMP_NO>10002</EMP_NO>   
         <NAME>JEFF PRICE</NAME>   
         <DESIGNATION>MANAGER</DESIGNATION>   
         <SALARY>25000</SALARY>   
         <JOIN_DATE>2007-12-15T00:00:00</JOIN_DATE>   
        </SelectRecord>   
        <SelectRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE">   
         <EMP_NO>10003</EMP_NO>   
         <NAME>DON HALL</NAME>   
         <DESIGNATION>ACCOUNTANT</DESIGNATION>   
         <SALARY>12000</SALARY>   
         <JOIN_DATE>2005-10-29T00:00:00</JOIN_DATE>   
        </SelectRecord>   
        …        
        <SelectRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE">   
         …   
        </SelectRecord>   
        …   
      </DATA>   
    </Poll>  
    
  • L’adaptateur exécute l’instruction post-interrogation, qui supprime toutes les données de MS_SAMPLE_EMPLOYEE table d’interface.

  • Après l’intervalle d’interrogation, l’adaptateur exécute à nouveau PolledDataAvailableStatement. Étant donné que la table d’interface MS_SAMPLE_EMPLOYEE n’a pas d’enregistrements, PolledDataAvailableStatement ne retourne pas de valeur positive et, par conséquent, l’adaptateur n’exécute pas l’instruction spécifiée pour la propriété de liaison PollingInput . Par conséquent, le client d’adaptateur n’obtient aucun message d’interrogation.

  • Le client d’adaptateur n’obtient plus de messages d’interrogation tant que certains enregistrements n’ont pas été explicitement insérés dans la table d’interface MS_SAMPLE_EMPLOYEE. Pour insérer d’autres enregistrements, vous pouvez exécuter le script insert_apps_data.sql fourni avec les exemples. Après avoir exécuté ce script, la prochaine fois que PolledDataAvailableStatement est exécuté, il retourne une valeur positive. Par conséquent, l’adaptateur exécute l’instruction d’interrogation et les clients de l’adaptateur reçoivent à nouveau un message d’interrogation.

Notes

L’adaptateur Oracle E-Business continue d’interroger jusqu’à ce que vous désactiviez explicitement le port de réception à partir de la console d’administration BizTalk Server.

Bonnes pratiques

Une fois que vous avez déployé et configuré le projet BizTalk, vous pouvez exporter les paramètres de configuration vers un fichier XML appelé fichier de liaisons. Une fois que vous avez généré un fichier de liaisons, vous pouvez importer les paramètres de configuration à partir du fichier afin de ne pas avoir à créer les ports d’envoi et de réception. Pour plus d’informations sur les fichiers de liaison, consultez Réutiliser les liaisons d’adaptateur avec Oracle E-Business Suite.

Voir aussi

Interrogation d’Oracle E-Business Suite à l’aide de BizTalk Server