Ansicht
Dokumentation

W_FIP_033 - BAdI: Zugriff auf Substitutionsmaterialien

W_FIP_033 - BAdI: Zugriff auf Substitutionsmaterialien

ABAP Short Reference   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Dieses technische Business Add-In (BAdI) ist Teil einer Abstraktionsschicht, die von SAP intern verwendet wird. Es ist nicht für die weitere Verwendung durch Kunden vorgesehen. Diese Technologie ermöglicht einzelne Funktionalitäten oder vollständige Anwendungen, die entweder durch Backend-Funktionen oder Enterprise Services aufgerufen werden. Sie wird benutzt, um in einem Retail-System ein Material durch ein anderes zu substituieren.

Dieses BAdI verwendet die folgende Methode:

  • READ_REPLACEMENT_MATERIAL
Liefert für ein bestimmtes Material eine Tabelle für Substitutionsmaterialien mit der Bezeichnung ET_FOLUP_MATERIALSzurück, falls ein solches verfügbar ist. Deshalb muss der Parameter IV_MATNR eingegeben werden.
Durch Eingabe der optionalen Parameter IV_DATE_FROMund IV_DATE_TO werden nur Substitutionsmaterialien für den bestimmten Zeitraum ausgegeben.

Ein Material kann nur bei Verwendung eines Retail-Backend-Systems substituiert werden, Zusätzlich müssen Substitutionsmaterialien in diesem Retail-System gepflegt werden.

Wie bei allen BAdIs im Erweiterungsspot ES_FIP_BAL sollte ein Entwickler unter keinen Umständen den Aufruf GET_BADIverwenden, um eine Instanz dieses BAdI zu erzeugen. Stattdessen sollte der Entwickler zuerst eine Instanz der Klasse CL_FIP_BAL_FACTORY erzeugen und dann deren GET_BADI-Methode anwenden, um das benötigte BAdI zu instanziieren.

Beispiel - Instanziierung des BAdI FIP_BADI_REPLACEMNT_MAT_BAL

DATA:

lo_bal_factory         TYPE REF TO cl_fip_bal_factory,

lo_badi_replacemnt_mat TYPE REF TO fip_badi_replacemnt_mat_bal.

  " Erzeuge Instanz der BAL Factory

  cl_fip_bal_factory=>get_instance(

    IMPORTING eo_factory = lo_bal_factory ).

  " Instanziiere das BAdI FIP_BADI_REPLACEMNT_BALI

  lo_badi_replacemnt_mat ?= lo_bal_factory->get_badi(

    cl_fip_const=>co_replacemnt_mat_bal ).

Dieses BAdI ist dafür vorgesehen, nur jeweils eine BAdI-Implementierung auszuführen. Es verwendet einen Filter mit der Bezeichnung ACCESS_TYPE, um zu bestimmen, welche Implementierung ausgeführt werden soll. Jede Implementierung muss über einen unterschiedlichen Filterwert verfügen. Im Aufruf GET_BADI der BAL Factory wird der Wert von ACCESS_TYPE automatisch ermittelt und festgelegt.

Alle möglichen Werte von ACCESS_TYPE:

  • 0BA
Implementierung mittels BAPIs und/oder direkten Datenbankzugriffs
  • 0ES
Implementierung mittels Enterprise Services, die den Zugriff auf verschiedene Backends ermöglicht, falls verwendete Funktionalitäten in verschiedenen Systemen verfügbar sind.
  • Cnn (wobei nn eine einstellige oder zweistellige Nummer ist)
Kundeneigene Implementierung

Die BAL Factory Klasse ermittelt den Wert des ACCESS_TYPE-Filters, in dem der folgende Prozess durchlaufen wird:

  1. Ermitteln Sie den Wert aus der mandantenspezifischen Tabelle FIP_C_BAL_BADI.
  2. Wenn Sie noch keinen Wert erhalten haben, ermitteln Sie den Wert aus der mandantenspezifischen Tabelle FIP_C_BAL_CONF.
  3. Wenn Sie noch keinen Wert erhalten haben, wird der durch die BAL Factory festgelegte Wert verwendet. Im ERP 6.0 EHP4 ist dieser Wert 0BA.

Wie bei ERP 6.0 EHP4, 0BA und 0ES gibt es Implementierungen für jedes BAdI, das zum Erweiterungsspot ES_FIP_BALgehört.

For information about the implementation of BAdIs in the context of the Enhancement Concept, see SAP Library for SAP NetWeaver under BAdIs - Embedding in the Enhancement Framework.






CPI1466 during Backup   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6495 Date: 20240520 Time: 224627     sap01-206 ( 132 ms )