Hierarchy

⤷

⤷

IMG Activity
ID | W_FIP_030 | BAdI: Access Purchase Order |
Transaction Code | S_E4A_94000210 | (empty) |
Created on | 20080611 | |
Customizing Attributes | W_FIP_030 | BAdI: For Accessing Purchase Order |
Customizing Activity | W_FIP_030 | BAdI: For Accessing Purchase Order |
Document
Document Class | SIMG | Hypertext: Object Class - Class to which a document belongs. |
Document Name | FIP_BADI_PURCHASE_ORDER_BAL |
Use
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.
This BAdI uses the following methods:
- FIND_ALLOWED_PO_ITEM_TYPES
Find all allowed purchase order item categories in the system.
- FIND_ALLOWED_PO_TYPES
Find all allowed purchase order types in the system.
- READ_PO_BY_ID
Retrieve the purchase order data with its ID as search criteria.
- READ_PO_BY_ELEMENTS
Retrieve the purchase order data with several elements as search criteria.
- CREATE
Create a purchase order via
BAPI_PO_CREATE1
. - READ_OPEN_PO_BY_ELEMENTS
Retrieve open purchase orders data with different elements as search criteria.
- READ_OPEN_STO_BY_ELEMENTS
Retrieve open stock transfer orders data with different elements as search criteria.
- CHANGE
Change a purchase order via
BAPI_PO_CHANGE
.
Requirements
Standard settings
As for all BAdIs in the ES_FIP_BAL
enhancement spot, a developer should never use the GET_BADI
call to create an instance of this BAdI. Rather, the developer should first get an instance of the CL_FIP_BAL_FACTORY
class and then use its GET_BADI
method to instantiate the needed BAdI.
Example - Instantiation of the FIP_BADI_PURCHASE_ORDER_BAL
BAdI
DATA:
lo_bal_factory TYPE REF TO cl_fip_bal_factory,
lo_badi_purchase_order TYPE REF TO fip_badi_purchase_order_bal.
" Get instance of the BAL factory
cl_fip_bal_factory=>get_instance(
IMPORTING eo_factory = lo_bal_factory ).
" Instantiate the FIP_BADI_PURCHASE_ORDER_BAL BAdI
lo_badi_purchase_order ?= lo_bal_factory->get_badi(
cl_fip_const=>co_purchase_order_bal ).
This BAdI was designed to run only one BAdI implementation. It uses a filter named ACCESS_TYPE
to determine which implementation is to be executed. Each implementation must have a different filter. In the GET_BADI
call to the BAL factory, the value of ACCESS_TYPE
is 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_TYPE
filter by going through the following process:
- Get the value from the
FIP_C_BAL_BADI
client-specific customizing table. - If a value was not yet obtained, get the value from the
FIP_C_BAL_CONF
client-specific customizing table. - 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_BAL
enhancement spot.
Activities
For information about implementing BAdIs as part of the Enhancement Concept, see SAP Library for SAP NetWeaver under BAdIs - Embedding in the Enhancement Framework.
Example
Business Attributes
ASAP Roadmap ID | 153 | Design enhancements |
Mandatory / Optional | 2 | Optional activity |
Critical / Non-Critical | 2 | Non-critical |
Country-Dependency | A | Valid for all countries |
Maintenance Objects
Maintenance object type | E | Business Add-In - Definition |
History
Last changed by/on | SAP | 20080703 |
SAP Release Created in | 604 |