Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 4 of 6

Custom code and functional regression

17 min

Listen to this lesson

0:00 / 7:11

A conversion keeps your processes but changes what sits underneath them. Standard SAP functions are simplified, data structures change and custom code has to be adapted. Testing everything equally is neither affordable nor smart. The custom code analysis and the simplification items tell you where change happened; the regression strategy should follow that map.

Where the findings come from

  • Simplification items relevant to your system, from SAP Readiness Check or the Simplification Item Catalog, describe functional and technical changes in each area.
  • Custom Code Migration checks custom code against S/4HANA simplifications before the conversion; the guide notes the checks do not yet find every issue, so custom code must also be tested in S/4HANA.
  • After SUM: modifications are adjusted with SPDD, SPAU and SPAU_ENH, and remaining issues are found with an ATC run using the check variant S4HANA_READINESS in the converted system.
  • Usage data: unused custom code can be identified and retired, which removes it from both adaptation and testing.
  1. FindingsATC readiness findings, SPAU/SPDD adjustments, relevant simplification items
  2. Map to objectsWhich custom objects and standard functions changed
  3. Map to processesWhich business processes and test cases use them
  4. PrioritizeBy change depth and business criticality
  5. TestUnit tests for adapted code; targeted functional tests; full regression for critical paths
Turning custom code findings into a focused regression scope.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-404

Mapping code to processes

The hard step is the middle one. Developers think in objects, testers in processes. Build a simple traceability list: for each adapted custom object, which transactions, apps, jobs or interfaces call it, and which test cases cover those. Usage statistics from production help a lot here, because they show which programs actually run in which business context. Kenji's team owns the object side; Priya's team owns the test case side; together they fill the gap.

The traceability list links each adapted Z object to whatever calls it and to the test cases that cover those callers, joining the developer and tester views.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-404
Finding at ContosoAdapted objectProcess and test focus
Customer/vendor master moves to business partnerCustom customer-creation interfaceCreate and change customers via the interface; check Great Lakes Fleet Services master data and credit data
Changed pricing data modelCustom pricing report reading pricing conditionsReport totals reconciled against billing for a month of orders
Material number field length extendedCustom label print programLabels for CMC-ALT-100 and CMC-RTR-200; layout and barcode
Finance tables replaced by the universal journalCustom GL extract to the consolidation toolExtract compared with trial balance for 1710 and 1810
Modification in sales order pricingAdjusted in SPAUFull order-to-cash regression with all price scenarios

Examples of findings mapped to targeted tests. Topics are typical conversion areas; confirm the relevant simplification items for your system.

Test layers for adapted code

Adapted code gets three kinds of evidence. Developer tests: ABAP Unit where the code allows it, or at least a documented developer test with before/after output from ED1 and CMD. Comparison tests: run the same report or interface with the same selection in the old system and the converted one and compare results, which is powerful for reports and extracts. Process tests: the business process end to end in CMQ, with key users for critical flows. Unchanged custom code still gets regression through the processes that use it, but with lower priority.

A comparison test runs the same report or interface with the same selection before and after, then hands over to the process test.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-404
Targeted testDeep change, low criticality: developer test plus one functional check
Full regression plus key usersDeep change, critical process: all layers, every iteration
SampleLittle change, low criticality: covered by broad regression
Automated regressionLittle change, critical process: automated end-to-end run each iteration
Prioritizing conversion regression by depth of change and criticality.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-404

What would you do?

After 4,300 unused objects were deleted, Kenji's scoped ATC run on the 7,500 in-scope custom objects shows 3,900 readiness findings, and usage data shows many objects run only rarely. The test budget covers about 300 targeted tests. What should Priya propose?

Key points
  • Use simplification items, custom code checks, SPDD/SPAU adjustments and ATC readiness runs as the change map.
  • Map adapted objects to processes and test cases; usage data links code to business context.
  • Combine developer tests, old-versus-new comparison tests and process tests.
  • Retire unused code and prioritize the rest by depth of change and business criticality.

Check your understanding · not graded

Lesson check

  1. 1. Which ATC check variant finds remaining S/4HANA issues in the converted system, per the conversion guide?

  2. 2. Why must custom code be tested even after all custom code check findings are fixed?

  3. 3. What is a comparison test for an adapted custom report?