Catégories
SAP Talend

Passage de paramètres de type RANGE à mon composant tSapInput

Dans cet article nous allons :

  • Créer une table ZDEVPORTFOLIO à l’aide de SE11,
  • Renseigner 4 occurrences de test dans cette table
  • Créer la BAPI ZRFC_DEVPORTFOLIO_RANGE
  • Appeler la BAPI à partie d’un job TALEND Open Studio v4.2

Créer la table ZDEVPORTFOLIO

http://blog.devportfolio.net/blog/2012/08/06/creer-une-table-sa-table-des-textes-et-generer-la-vue-de-gestion-associee/

Renseigner des données dans la table ZDEVPORTFOLIO

4SE37 – Créer la BAPI ZRFC_DEVPORTFOLIO_RANGE

DEV(1)100 Function Builder  écran initial

Renseigner les paramètres suivants :

Onglet Tables

T_DEVPORTFOLIO est le paramètre de sortie, cette table  correspond  au résultat retourné pour la BAPI.

2Onglet Importation

T_RANGE_MATNR est le paramètre d’entrée de la BAPI pour renseigner les enregistrements à sélectionner.

1

Le code source de la BAPI

3Copier/Coller le code suivant :

SELECT
*
FROM
zdevportfolio
INTO TABLE
t_devportfolio
WHERE
matnr IN t_range_matnr.

Dans l’onglet « Propriété », Sélectionner « Module accessible à distance ».

DEV(1)100 Function Builder  écran initial4

Enregistrer et compiler

TALEND – Créer un nouveau job

Glisser un composant tSapInput et un tLogRow sur la surface de travail.

8

Dans les paramètres du composant tSapInput :

  • Renseigner le nom de la fonction « ZRFC_DEVPORTFOLIO_RANGE ».
  • Renseigner les paramètres d’entrée comme détaillé sur l’image ci-dessous. Nous demandons à lire les enregistrement des articles 000001 et 000004 dans la table ZDEVPORTFOLIO .

Pour info, le type input_table correspond aux paramètres déclarés dans l’onglet Importation dans SE37. Les paramètres déclarés dans l’onglet Table sont de type table_input.

10

  • Renseigner les paramètres de sortie comme détaillé sur l’image ci-dessous :

79Exécuter le job :

11Le job retourne les prix des articles 000001 et 000004.

2 réponses sur « Passage de paramètres de type RANGE à mon composant tSapInput »

Bonjour,

J’ai regardé avec beaucoup d’attention votre example sur l’astuce suivante: « Passage de paramètres de type RANGE à mon composant tSapInput ».

J’ai cependant une question. Dans SAP on a souvent besoin de faire une selection de donnée dans une « X » pour toutes les entrées se trouvant dans une table « Y ». Dans le cas de votre Range, je ne sais pas comment l’utiliser pour indiquer la table « Y » comme input dans la selection que je ferais avec tSAPInput sur la table « X ».

Si ce n’est pas possible, merci de me l’indiquer. Et si vous comptez developper un autre exemple sur la question que je viens de soulever, n’hésitez pas svp à me tenir informé.

En vous remerciant par avance.

Cordialement,
Louaiy

Bonjour Louaiy

Merci pour ton commentaire. Pour ma part je passerai par un tMap pour croiser les données des 2 tables si la volumétrie n’est pas trop importante. Donne moi un exemple de ta problématique avec des noms de tables connues dans SAP (ex: VBAK, VBAP, LIKP, LIPS…) pour être sûr de bien comprendre.

Merci

@+

X@v

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *