How to remediate: Reports called via SE38/SA38 pattern
Z/Y reports without proper transaction codes, called directly via SE38/SA38.
Is this issue in your codebase?
A1 scans all 30 rules across your custom ABAP — results in minutes.
What changes in S/4HANA
Not blocked, but Fiori launchpad integration requires transaction codes.
Before and after: ABAP code example
* ECC: report without transaction code, launched via SE38
REPORT zsd_open_orders.
TABLES: vbak.
SELECT-OPTIONS: s_vkorg FOR vbak-vkorg.
START-OF-SELECTION.
PERFORM read_open_orders. * S/4HANA: same report, but assign a transaction code
* 1. Create transaction ZSD_OPEN_ORDERS via SE93
* 2. Link to program ZSD_OPEN_ORDERS
* 3. Enables Fiori launchpad tile configuration
* Program itself can remain unchanged for on-prem migration
REPORT zsd_open_orders.
" ... (program body unchanged) 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
- ! Forgetting to update all occurrences in the same program
- ! Not running ATC after the change to confirm the finding is resolved
Related rules to check
Obsolete ABAP statements
Use of obsolete ABAP syntax: MOVE, COMPUTE, WRITE TO, SORT BY ASCENDING/DESCENDING without field list.
ABAP Cloud restricted object access
Access to SAP internal objects without C1 release status. These are blocked in ABAP Cloud.
Unchecked SY-SUBRC
Database operations or function module calls without checking SY-SUBRC return code.
Find every instance of this issue in your codebase
The A1 scanner checks all 30 compatibility rules — including Reports called via SE38/SA38 pattern — 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.