Ansicht
Dokumentation

W_FIP_029 - BAdI: Access Promotions

W_FIP_029 - BAdI: Access Promotions

BAL_S_LOG - Application Log: Log header data   PERFORM Short Reference  
This documentation is copyright by SAP AG.
SAP E-Book

This technical Business Add-In (BAdI) is part of a business abstraction layer used internally by SAP. It is not intended for reuse by customers. This technology enables individual functionality or complete applications to be called either by back-end functions or enterprise services. It is used to receive promotions for retail materials.

This BAdI uses the following methods:

  • READ_PROMOTION_BY_ELEMENT
Receives all available retail promotion. The IT_MATNRinput table must be filled.

In case retail promotions have been found, they will get returned to the ET_PROMOTION_ASSIGNMENTtable. The promotions for stores or customers that are returned In this output table are included in the materials contained in IT_MATNR. Descriptions of promotions in ET_PROMOTION_ASSIGNMENTare stored in the ET_PROMO_TXTtable.

  • Retail environment
  • Promotion available for at least one store or customer

As for all BAdIs in the ES_FIP_BALenhancement spot, a developer should never use the GET_BADIcall to create an instance of this BAdI. Rather, the developer should first get an instance of the CL_FIP_BAL_FACTORYclass and then use its GET_BADImethod to instantiate the needed BAdI.

Example - Instantiation of the FIP_BADI_PROMO_RETAILBAdI

DATA:

lo_bal_factory   TYPE REF TO cl_fip_bal_factory,

lo_badi_retail_promo TYPE REF TO fip_badi_retail_promo_bal.

  " Get instance of the BAL factory

  cl_fip_bal_factory=>get_instance(

    IMPORTING eo_factory = lo_bal_factory ).

  " Instantiate the FIP_BADI_PROMO_RETAIL BAdI

  lo_badi_retail_promo ?= lo_bal_factory->get_badi(

    cl_fip_const=>co_retail_promo_bal ).

This BAdI was designed to run only one BAdI implementation. It uses a filter named ACCESS_TYPEto determine which implementation is to be executed. Each implementation must have a different filter. In the GET_BADIcall to the BAL factory, the value of ACCESS_TYPEis automatically determined and set.

All possible values of ACCESS_TYPE:

  • 0BA
Implementation using BAPIs and/or direct database access
  • 0ES
Implementation using enterprise services, which allows access to different back-ends in case used functionalities are available in different systems.
  • Cnn (where nn is a one-digit or two-digit number)
Customer implementation

The BAL factory class determines the value of the ACCESS_TYPEfilter by going through the following process:

  1. Get the value from the FIP_C_BAL_BADIclient-specific customizing table.
  2. If a value was not yet obtained, get the value from the FIP_C_BAL_CONFclient-specific customizing table.
  3. If a value was not yet obtained, the default value as determined by the BAL factory will be used. In ERP 6.0 EHP4, this value is 0BA.

As of ERP 6.0 EHP4, 0BA and 0ES implementations exist for each BAdI that belongs to the ES_FIP_BALenhancement spot.

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.






CL_GUI_FRONTEND_SERVICES - Frontend Services   BAL Application Log Documentation  
This documentation is copyright by SAP AG.

Length: 6005 Date: 20240523 Time: 204402     sap01-206 ( 175 ms )