HIGH Effort: M — Medium (days) Deprecated Tables

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.

Scan your codebase free →

What changes in S/4HANA

Structural changes in S/4HANA purchasing tables. Released CDS views provide stable interface.

Before and after: ABAP code example

Before (ECC)
* 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.
After (S/4HANA)
* 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

M — Medium (days)

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

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.