Catégories
SAP

SAP : Conditionner la génération d’un IDOC sortant

Dans SAP, il existe deux méthodes pour conditionner la génération d’un IDOC au niveau de la couche ALE :

  1. Je souhaite que mon IDOC ne soit pas du tout généré quelque soit les partenaires devant recevoir le message et paramétrés dans l’accord d’interchange (WE20).
  2.  Je souhaite que mon IDOC ne soit pas généré pour un partenaire particulier.

Dans le premier cas nous pouvons simplement bloquer la génération de l’IDOC maître à l’aide de la BADI BDCP_BEFORE_WRITE qui comme son nom l’indique permet de conditionner l’insertion d’un pointeur de modification dans les tables BDCP, BDCPS et BDCP2. Cette BADI permet également de modifier l’occurrence à insérer dans les tables.

Dans le deuxième cas, nous pouvons bloquer la génération d’un IDOC de communication à l’aide de la BADI IDOC_CREATION_CHECK. L’IDOC maître est donc créé mais à l’aide de l’entête de contrôle disponible en paramètre d’entré de la méthode IDOC_DATA_CHECK nous pouvons lire l’émetteur du message et bloquer la génération de l’IDOC si les critères de génération ne sont pas rempli pour ce partenaire (WE20).

Pour organiser tout cela, nous pourrions penser à un système de package dans SE80 où seront réalisés les traitements spécifiques aux règles de gestions de filtres.

 

 

Laisser un commentaire

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