ATP BAdI /SAPAPO/PDEM_ATP_CHECK_IF is used only for OEMMI scenario
The PDEM ATP BAdI was introduced with note 1666495 for the OEMMI scenario.
It was not meant to be used for a regular DTP Upload from CRM or ERP SD, it is only enabled for a B2B scenario.
ATP BAdI /SAPAPO/PDEM_ATP_CHECK_IF is not useful for a regular DTP Upload from CRM or ERP SD.
* Only deal with CRM or B2B data
* WHEN mc_crm_salo.
* lv_r3obj = /sapapo/cl_c=>customer_order.
WHEN mc_b2b_sd. <-- B2B Scenario
lv_r3obj = /sapapo/cl_c=>customer_order.
RETURN. <-- Badi is not called for CRM or ERP SD
CALL BADI mo_pdem_atp_badi->atp_check_if_modify
The BADI documentation (SE18 - Enter BADI Name - Documentation) tells that the BADI is in use for
-if an active supersession chain exists during historical data capture
-for the planning services for the realignment of demand history
There was an attempt to use this BADI for the general DTP upload with note 1822983 but this was reverted back with note 1847654.
The implementation will not be executed for data that comes from ERP SD or CRM.
It is expected that the ATP logic is executed already in these source systems.
Only alternative I see is that you do a custom enhancement or place your ATP determination logic in your Start Routine of the CPD Data Upload.
Use this structure to help you compose your contributions for WIKI and at the same time will ensure spelling and grammar.