Insérer et mettre à jour des enregistrements dans un jeu de données SAP OData
Le Job suivant a pour objectif d'insérer des enregistrements dans un jeu de données SAP OData existant, puis de mettre à jour certains enregistrements du même jeu de données, avec l'aide des fonctionnalités de recherche et de filtre SAP OData.
Relier les composants
Procedure
Glissez-déposez les composants suivants depuis la Palette dans l'espace de modélisation graphique : un tFixedFlowInput, deux tSAPODataInput, deux tLogRow, un tMap et deux tSAPODataOutput.
Reliez le tFixedFlowInput au premier tSAPODataOutput à l'aide d'un lien Row > Main.
Reliez le tFixedFlowInput au tSAPODataInput à l'aide d'un lien Trigger > On SubJob OK.
Reliez le tSAPODataInput, le tLogRow et le second tMap à l'aide d'un lien Row > Main. Reliez le tMap et le second tSAPODataOutput à l'aide dun lien Row > FLOW.
Configurer les composants
Procedure
Double-cliquez sur le composant tFixedFlowInput et cliquez sur le bouton à trois points près du champ Edit schema pour définir le schéma.
Dans ce scénario, le schéma contient 11 colonnes : Kunnr (String), Name1 (String), Name2 (String), Text (String) Street (String), Pstlz (String), City (String), Waers (String), Erdat (Date), Ertim (Date) et SAP__Messages (String).
Propagez les modifications aux composants suivants.
Dans la zone Mode du composant, sélectionnez Use inline table et cliquez trois fois sur l'icône représentant un plus pour ajouter trois enregistrements :
Double-cliquez sur le composant tSAPODataOutput et configurez-le pour insérer les enregistrements dans votre service SAP OData.
Saisissez l'URL de votre service SAP OData, ainsi que le chemin du service du catalogue et les identifiants utilisés pour y accéder.
Dans ce scénario, les fonctionnalités de recherche SAP OData sont utilisées pour filtrer les services sur l'ID de groupe d'API nommé ZB_CUSTOMER.
Sélectionnez l'option Entity set et, dans la liste Output action, assurez-vous de sélectionner Insert, car vous souhaitez insérer de nouveaux enregistrements dans ce jeu de données.
Double-cliquez sur le tSAPODataInput et configurez-le pour récupérer uniquement les enregistrements insérés dans le premier sous-Job.
Renseignez les mêmes paramètres de connexion, l'ID du groupe d'API et l'ensemble d'entités défini dans le composant tSAPODataInput.
Dans ce scénario, l'option Use $filter est utilisée pour filtrer les enregistrements de la colonne Text contenant les caractères "+pid+". L'option Use $select est utilisée pour filtrer les colonnes suivantes :
Sélectionnez Record dans le champ Return type, car vous souhaitez récupérer des enregistrements et non des données brutes.
Double-cliquez sur le premier tLogRow, puis sélectionnez Table et Print content with log4j pour afficher les résultats d'exécution sous forme de table dans la console d'exécution du Job.
Double-cliquez sur le composant tMap pour ouvrir son éditeur.
Assurez-vous que seuls les enregistrements à mettre à jour sont mappés.
Double-cliquez sur le second composant tSAPODataOutput et configurez-le pour patcher les enregistrements dans votre service SAP OData.
Renseignez les mêmes paramètres de connexion, l'ID du groupe d'API et l'ensemble d'entités défini dans le composant tSAPODataInput.
Dans la liste Output action, sélectionnez Update et, dans le type de mise à jour Update, sélectionnez Patch, car vous souhaitez patcher les enregistrements de ce jeu de données et non les remplacer.
Double-cliquez sur le second tSAPODataInput et configurez-le comme le premier tSAPODataInput.
Double-cliquez sur le second tLogRow, puis sélectionnez Table et Print content with log4j pour afficher les résultats d'exécution sous forme de table dans la console d'exécution du Job.
Exécuter le Job
Procedure
Appuyez sur les touches Ctrl + S pour sauvegarder votre Job.
Appuyez sur F6 pour l’exécuter.
Results
Les résultats de l'opération d'insertion sont affichés dans la première table et les résultats de l'opération de mise à jour (patch) sont affichés dans la seconde table. Vous pouvez voir les trois enregistrements insérés et mis à jour.
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.