How to remediate: EKKO/EKPO direct access
Direct reads from EKKO/EKPO (Purchase Order header/item). Use released API I_PurchaseOrder.
Is this issue in your codebase?
A1 scans all 30 rules across your custom ABAP — results in minutes.
What changes in S/4HANA
Structural changes in S/4HANA purchasing tables. Released CDS views provide stable interface.
Before and after: ABAP code example
* ECC: direct EKKO/EKPO read
SELECT e~ebeln e~lifnr p~ebelp p~matnr p~menge p~netpr
FROM ekko AS e
INNER JOIN ekpo AS p ON p~ebeln = e~ebeln
INTO TABLE @DATA(lt_po)
WHERE e~bukrs = @lv_bukrs. * S/4HANA: released CDS view I_PurchaseOrderItem
SELECT purchaseorder, purchaseorderitem,
supplier, material, orderquantity, netpriceamount
FROM i_purchaseorderitem
INTO TABLE @DATA(lt_po)
WHERE companycode = @lv_bukrs. Effort estimate and common pitfalls
Effort estimate
Estimate is per affected object. Total effort scales with the number of occurrences in your codebase. Use the A1 scan to get an object-level count before estimating the full project.
Common pitfalls
- ! Missing related objects that contain the same pattern
- ! Not testing edge cases after replacing the API
- ! Skipping regression tests for dependent programs
Related rules to check
SELECT * usage
SELECT * reads all columns including new S/4HANA columns, causing unexpected results and performance issues.
VBAK/VBAP direct access
Direct reads from VBAK/VBAP (Sales Document header/item). S/4HANA adds fields that change the structure.
BSEG direct access
BSEG is a cluster table in ECC. In S/4HANA, financial data moved to ACDOCA (Universal Journal).
Find every instance of this issue in your codebase
The A1 scanner checks all 30 compatibility rules — including EKKO/EKPO direct access — across your custom ABAP objects and produces a prioritised remediation backlog.
Scan your codebase for this issue free →SAP, S/4HANA and ABAP are trademarks of SAP SE. s4ready.ai is an independent solution and is not affiliated with, endorsed by, or sponsored by SAP SE.