Exemples de scénarios. SAP BusinessObjects Data Services 4.1 Support Package 1
Données imbriquées
10.5.1 Exemples de scénarios
Les scénarios suivants décrivent l'utilisation des fonctions permettant d'extraire des données XML d'une colonne source et de les charger dans une colonne cible.
Rubriques associées
•
Extraction de données XML d'une colonne dans le progiciel
•
Chargement de données XML vers une colonne du type de données long
•
Extraction de chaînes XML data quality à l'aide de la fonction extract_from_xml
260
10.5.1.1 Extraction de données XML d'une colonne dans le progiciel
Ce scénario utilise les fonctions long_to_varchar et extract_from_xml pour extraire les données XML d'une colonne avec des données de type long.
1.
Supposons tout d'abord que vous avez déjà effectué les étapes suivantes : a.
Importé une table Oracle contenant une colonne nommée Contenu avec le type de données long qui contient les données XML pour un bon de commande.
b.
Importé dans le référentiel le schéma XML PO.xsd qui fournit le format pour les données XML.
c.
Créé un projet, un job et un flux de données pour votre conception.
d.
Ouvert le flux de données et déposé la table source avec la colonne nommée contenu dans le flux de données.
2.
Effectuez alors les actions suivantes : a.
Créez une requête avec une colonne de sortie du type de données varchar et assurez-vous que sa taille est suffisante pour contenir les données XML.
b.
Nommez cette colonne de sortie contenu.
c.
Dans la section Mappage de l'éditeur de requêtes, ouvrez l'Assistant Fonction, sélectionnez le type de fonction Conversion, puis sélectionnez la fonction long_to_varchar et configurez-la en saisissant ses paramètres.
long_to_varchar(content, 4000)
Le second paramètre de cette fonction (4000 dans ce cas) représente la taille maximale des données XML stockées dans la colonne de la table. Utilisez ce paramètre avec prudence. Si la taille n'est pas suffisante pour contenir le maximum de données XML pour la colonne, le progiciel tronquera les données, engendrant une erreur d'exécution. Inversement, ne saisissez pas un nombre trop important, ce qui exploiterait trop de mémoire de l'ordinateur lors de l'exécution.
d.
Dans l'éditeur de requêtes, mappez la colonne de table source vers une nouvelle colonne de sortie.
2012-11-22
Données imbriquées
261 e.
Créez une seconde requête utilisant la fonction extract_from_xml pour extraire les données XML.
Pour appeler la fonction extract_from_xml, cliquez avec le bouton droit de la souris sur le contexte actuel dans la requête puis sélectionnez Nouvel appel de fonction.
Lorsque l'Assistant Fonction s'ouvre, sélectionnez Conversion puis extract_from_xml.
Remarque :
Vous pouvez utiliser la fonction extract_from_xml uniquement dans un nouvel appel de fonction.
Autrement, la fonction ne sera pas affichée dans l'Assistant Fonction.
f.
Entrez les valeurs pour les paramètres d'entrée.
• La première valeur est le nom de la colonne XML. Saisissez contenu, qui correspond à la colonne de sortie dans la requête précédente contenant les données XML.
• Le second paramètre est le nom du schéma DTD ou XML. Saisissez le nom du schéma du bon de commande (dans ce cas PO).
• Le troisième paramètre est la fonction Activer la validation. Saisissez 1 si vous souhaitez que le progiciel valide les données XML avec le schéma spécifié. Dans le cas contraire, saisissez
0
.
g.
Cliquez sur Suivant.
h.
Pour la fonction, sélectionnez une ou plusieurs colonnes que vous souhaitez utiliser à la sortie.
Imaginez que ce schéma de bon de commande contienne cinq éléments de niveau supérieur :
DateCommande, AdresseLivraison, AdresseFacturation, Commentaire et Eléments. Vous pouvez sélectionner un nombre quelconque de colonnes de niveau supérieur d'un schéma XML qui inclut des données de colonnes scalaires ou NRDM. Le type de renvoi de la colonne est défini dans le schéma. Si la fonction échoue en raison d'une erreur lors de la tentative de production de la sortie XML, le progiciel renvoie une valeur nulle pour les colonnes scalaires et des tables imbriquées vides pour les colonnes NRDM.
La fonction extract_from_xml ajoute également deux colonnes :
• AL_ERROR_NUM : renvoie des codes d'erreur : 0 pour une réussite et un entier autre que zéro pour les échecs.
• AL_ERROR_MSG : renvoie un message d'erreur si la valeur de AL_ERROR_NUM est autre que 0. Renvoie une valeur nulle si la valeur de AL_ERROR_NUM est 0
Sélectionnez une ou plusieurs de ces colonnes en tant que sortie appropriée pour la fonction extract_from_xml.
i.
Cliquez sur Terminer.
Le progiciel génère l'appel de fonction dans le contexte en cours et remplit le schéma de sortie de la requête avec les colonnes de sortie spécifiées.
Avec les données converties dans la structure NRDM, vous êtes prêt à lui appliquer des opérations de transformation appropriées.
Par exemple, si vous souhaitez charger la structure NRDM vers un fichier XML cible, créez un fichier
XML cible puis connectez la seconde requête à ce dernier.
2012-11-22
Données imbriquées
Remarque :
Si vous souhaitez modifier l'appel de fonction, cliquez avec le bouton droit de la souris sur l'appel de fonction dans la seconde requête et sélectionnez Modifier l'appel de fonction.
Dans cet exemple, pour extraire des données XML d'une colonne du type de données long, nous avons créé deux requêtes : la première pour convertir les données à l'aide de la fonction long_to_varchar et la seconde pour ajouter la fonction extract_from_xml.
Il est également possible d'utiliser une seule requête en saisissant l'expression de la fonction long_to_varchar directement dans le premier paramètre de la fonction extract_from_xml. Le premier paramètre de la fonction extract_from_xml peut utiliser une colonne du type de données varchar ou une expression qui renvoie les données de type varchar.
Si le type de données de la colonne source n'est pas long mais varchar, n'incluez pas la fonction long_to_varchar à votre flux de données.
262
10.5.1.2 Chargement de données XML vers une colonne du type de données long
Ce scénario utilise les fonctions load_to_xml et varchar_to_long pour convertir une structure NRDM en données scalaires de type varchar dans un format XML puis la charger vers une colonne du type de données long.
Dans cet exemple, vous souhaitez convertir en données XML une structure NRDM pour un bon de commande à l'aide de la fonction load_to_xml. Vous voulez ensuite charger ces données vers une colonne de table Oracle intitulée contenu du type de données long. La fonction load_to_xml renvoyant une valeur du type de données varchar, vous utilisez la fonction varchar_to_long pour convertir la valeur de type de données varchar en valeur de type de données long.
1.
Créez une requête et connectez-la à une requête ou source précédente (présentant la structure
NRDM d'un bon de commande). Dans cette requête, créez une colonne de sortie du type de données varchar intitulée contenu. Assurez-vous que la taille de la colonne est suffisante pour contenir les données XML.
2.
Dans la zone Mappage, ouvrez l'Assistant Fonction, cliquez sur la catégorie Fonctions de
conversion puis sélectionnez la fonction load_to_xml.
3.
Cliquez sur Suivant.
4.
Entrez les valeurs pour les paramètres d'entrée.
La fonction load_to_xml dispose de sept paramètres.
5.
Cliquez sur Terminer.
Dans la zone de mappage de la fenêtre Query, notez l'expression de la fonction : load_to_xml(PO, 'PO', 1, '<?xml version="1.0" encoding = "UTF-8" ?>', NULL, 1, 4000)
Dans cet exemple, la fonction convertit la structure NRDM du bon de commande PO en données
XML et affecte la valeur au contenu de la colonne de sortie.
6.
Créez une autre requête avec les colonnes de sortie correspondant aux colonnes de la table cible.
2012-11-22
Données imbriquées a.
Supposons que la colonne soit intitulée contenu et soit du type de données long.
b.
Ouvrez l'Assistant Fonction dans la section de mappage de la requête puis sélectionnez la catégorie Fonctions de conversion.
c.
Utilisez la fonction varchar_to_long pour mapper la colonne d'entrée contenu vers la colonne de sortie contenu.
La fonction varchar_to_long n'utilise qu'un seul paramètre d'entrée.
d.
Saisissez une valeur pour le paramètre d'entrée.
varchar_to_long(content)
7.
Connectez cette requête à une cible de base de données.
De même que dans l'exemple utilisant la fonction extract_from_xml, vous avez ici utilisé deux requêtes.
La première requête a converti une structure NRDM en données XML puis a affecté la valeur à une colonne du type de données varchar. La seconde requête a converti le type de données varchar en long.
Il est possible de ne mettre qu'une seule requête en œuvre en utilisant les deux fonctions dans une seule expression : varchar_to_long( load_to_xml(PO, 'PO', 1, '<?xml version="1.0" encoding = "UTF-8" ?>', NULL, 1, 4000) )
Si le type de données de la colonne de la table de la base de données cible stockant les données XML est varchar, la fonction varchar_to_long n'est pas utile dans la transformation.
Rubriques associées
• Guide de référence : fonctions et procédures
10.5.1.3 Extraction de chaînes XML data quality à l'aide de la fonction extract_from_xml
Ce scénario utilise la fonction extract_from_xml pour extraire des données XML des transformationsGeocoder, Global Suggestion Lists, Global Address Cleanse et USA Regulatory Address
Cleanse.
La transformation Geocoder, la transformation Global Suggestion Lists et la fonctionnalité Liste de propositions dans les transformations Global Address Cleanse et USA Regulatory Address Cleanse peuvent éditer un champ contenant une chaîne XML. Les transformations éditent les champs suivants pouvant contenir une chaîne XML.
263 2012-11-22
Données imbriquées
264
Transformation
Geocoder
Global Address Cleanse
Global Suggestion List
USA Regulatory Address Cleanse
Champ de sortie
XML Description de champ de sortie
Result_List
Contient une chaîne de sortie XML lorsque plusieurs enregistrements sont renvoyés pour une recherche. Le contenu dépend des données disponibles.
Suggestion_List
Contient une chaîne de sortie XML incluant toutes les valeurs de champ de composant de la liste de propositions indiquées dans les options de transformation.
Pour éditer ces champs comme champs XML, vous devez sélectionner XML comme style de sortie dans les options de transformation.
Pour utiliser les données figurant dans les chaînes XML (par exemple, dans une application Web qui utilise le job publié comme service Web), vous devez extraire les données. Il existe deux méthodes d'extraction de données :
1.
Insérer une transformation Query à l'aide de la fonction extract_from_xml.
Cette méthode permet d'insérer une transformation Query dans le flux de données après les transformations Geocoder, Global Suggestion Lists, Global Address Cleanse ou USA Regulatory
Address Cleanse. Utilisez ensuite la fonction extract_from_xml pour analyser les données de sortie imbriquées.
Cette méthode est considérée comme meilleure pratique car elle propose des données de sortie analysées, facilement accessibles dans un intégrateur.
2.
Développez un flux de données simple qui ne supprime pas l'imbrication des données.
Cette méthode permet d'éditer facilement le champ de sortie contenant la chaîne XML sans suppression de l'imbrication de données.
Cette méthode permet au développeur d'application ou à l'intégrateur de sélectionner de manière dynamique les composants de sortie dans le schéma de sortie final avant de les exposer comme service Web. Le développeur d'application doit travailler étroitement avec le concepteur de flux de données pour comprendre le flux de données au delà d'un service Web en temps réel. Le développeur d'application doit comprendre les options de transformation et indiquer les éléments à renvoyer de la liste de propositions d'adresse retour puis supprimer l'imbrication de la chaîne de sortie XML pour générer des éléments discrets d'adresse.
10.5.1.3.1 Extraire les chaînes XML de qualité des données à l'aide d'une fonction extract_from_xml
1.
Créez un fichier XSD pour la sortie.
2012-11-22
Données imbriquées
2.
Dans l'onglet Format de la bibliothèque d'objets locale, créez un schéma XML pour la XSD de sortie.
3.
Dans l'onglet Format de la bibliothèque d'objets locale, créez un schéma XML pour gac_sugges tion_list.xsd
, global_suggestion_list.xsd,urac_suggestion_list.xsd, ou re sult_list.xsd
.
4.
Dans le flux de données, incluez le champ suivant dans la Sortie de schéma de la transformation :
• Pour les transformations Global Address Cleanse, Global Suggestion Lists, et USA Regulatory
Address Cleanse, incluez le champ Liste_Proposition.
• Pour la transformation Geocoder, incluez le champ Liste_Résultats
5.
Ajoutez une transformation Query après la transformation Global Address Cleanse, Global Suggestion
Lists, USA Regulatory Address Cleanse ou Geocoder. Terminez-la comme suit.
6.
Passez par tous les champs sauf le champ Liste_Propositions ou le champ Liste_Résultats à partir de l'entrée de schéma jusqu'à la sortie de schéma. Pour ce faire, faites glisser les champs directement du schéma d'entrée vers le schéma de sortie.
7.
Dans Sortie de schéma, faites un clic droit sur le nœud Requête et sélectionnez Nouveau schéma de sortie. Saisissez Liste_Propositions ou Liste_Résultats comme le nom du schéma (ou peu importe le nom du champ qui est dans la sortie XSD).
8.
Dans Sortie de schéma, faites un clic droit sur le champ Liste_Proposition ou Liste_Résultats et sélectionnez En faire l'élément actuel.
9.
Dans Sortie de schéma, faites un clic droit sur le champ Liste_Proposition ou Liste_Résultats et sélectionnez Nouvel appel de fonctions.
10.
Sélectionnez extract_from_xml dans la catégorie Fonctions de conversion et cliquez sur Suivant.
Dans la fenêtre Définir les paramètres d'entrée, saisissez les informations suivantes et cliquez sur
Suivant.
• Nom du champ XML : sélectionnez le champ Liste_Propositions ou Liste_Résultats de la transformation en amont.
• DTD ou nom de schéma : sélectionnez le schéma XML que vous avez créé pour gac_suggestion_list.xsd, urac_suggestion_list.xsd, ou result_list.xsd.
• Activer la validation : saisissez 1 pour activer la validation.
11.
Sélectionnez LISTE ou ENREGISTREMENT dans la liste des paramètres à gauche et cliquez sur le bouton de la flèche à droite pour l'ajouter à la liste Paramètres de sortie sélectionnés.
12.
Cliquez sur Terminer.
La Sortie de schéma inclut les champs de la liste de propositions/ liste de résultats dans le champ
Liste_Propositions ou Liste_Résultats.
13.
Incluez le schéma XML pour le XML de sortie après la Requête. Ouvrez le schéma XML pour valider que les champs sont identiques dans l'Entrée de schéma et dans la Sortie de schéma.
14.
Si vous extrayez des données depuis une transformation Global Address Cleanse, Global Suggestion
Lists, ou USA Regulatory Address Cleanse et que vous avez choisi de sortir uniquement un sous-ensemble des champs de sortie de la liste de propositions disponibles dans l'onglet Options, insérez une deuxième transformation Query pour spécifier les champs que vous souhaitez sortir.
Cette opération permet de sélectionner les composants de sortie dans le schéma de sortie final avant qu'il soit exposé comme un service Web.
265 2012-11-22
Données imbriquées
266 2012-11-22

Öffentlicher Link aktualisiert
Der öffentliche Link zu Ihrem Chat wurde aktualisiert.