Google Search - Blog...........

ABAP - Behavioral Difference Of BAPIs In SAP PM and PS Module.


Integration with SAP has acquired importance as never before and become a common requirement today. BAPI plays an indispensable job in the same. It was interesting to know: How similar functionality is addressed differently by BAPIs in Plant Maintenance (SAP PM) and Project Systems (SAP PS) modules.

Functionality Overview and Comparison in BAPIs

Integration with SAP PM and PS was intended in form of development project requirement. Let us see the functionality requirements and the way they were dealt in respective BAPIs.
Plant Maintenance (PM) standard BAPI viz., 'BAPI_ALM_ORDER_MAINTAIN' creates and maintains PM orders, operations and related child objects. Let us see certain functionalities provided in this BAPI:

I. DSEX Status (Dates Set by External system) for PM order operation:

Requirement was to schedule PM orders outside SAP, which indirectly means setting DSEX status in SAP. BAPI provides this functionality and the documentation quotes-
"The external scheduling is offered by the BAPI as a special function. The BAPI can set the date field directly at the operation level, and select the operation with the status DSEX (Date set by external system). This status prevents any further scheduling of the operation, it keeps the transferred dates. For this, set the category X in the restriction categories. "

II. Calculation Key for PM operation:

Requirement was to set calculation key (Cckey) to 'Maintain manually' during creating and updating operations. BAPI provides this functionality as standard.

Similar functionalities were required in case of Project Systems (PS) for network activity. PS Network Activity is analogous to PM Order Operation. Functionally the above mentioned PM BAPI is analogous to 'BAPI_PROJECT_MAINTAIN' in PS. It was expected that PS BAPI provides the functionality by default but, this was not the case.
In case of PS functionality (which is similar to PM functionality) separate BAPIs were to be referred.

I. DSEX status for Network Activity:
'BAPI_BUS2002_SET_STATUS' was used to address this requirement. This BAPI was clubbed with 'BAPI_PROJECT_MAINTAIN'.

II. Calculation Key for PM operation:
'BAPI_BUS2002_ACT_CHANGE_MULTI' was used to address this requirement. This function was clubbed with 'BAPI_PROJECT_MAINTAIN'.

Thus the functionalities addressed in single PM BAPI were not provided in analogous PS BAPI and different work around was required to address the requirements. I hope that this article proves helpful to address similar scenarios arising in integration.

No comments:

Post a Comment