Lesson 4 of 5
Custom reports, extensions and interfaces
9 min
Standard SAP code is adapted by SAP. Custom code is yours. In procurement, Contoso's ECC system holds years of custom reports, enhancements, batch inputs and interfaces, and the simplification items in this course decide which of them break, which slow down and which silently return different numbers. The job of the procurement team is to tell IT which of these objects matter, and to test the ones that survive.
Finding the affected objects
SAP's tools do the technical scanning. The ABAP test tools with SAP S/4HANA readiness checks (for example in the ABAP Test Cockpit and the Custom Code Migration app) list custom code that uses simplified objects, such as direct accesses to MKPF, MSEG or stock aggregate tables, calls to retired transactions or material number fields that assume 18 characters. Usage data from the production system shows which custom objects are actually used. Code that nobody has run in a year is a candidate for retirement rather than repair.
- ScanCustom code checks flag objects that touch simplified tables, transactions and fields
- UsageProduction usage data shows which objects are used and by whom
- DecideRetire unused objects; replace with standard apps where possible; fix the rest
- FixDevelopers adapt code; owners confirm expected output
- TestCompare output with standard reports and ECC results
Typical procurement and inventory objects at risk
| Object type | Why at risk | Contoso example | Action |
|---|---|---|---|
| Custom stock reports | Read stock aggregates or MSEG through compatibility views; may be slow or calculate differently | Z-report of stock by storage location used by Chicago planners | Compare with MMBE and Stock - Multiple Materials; tune or replace |
| Programs writing inventory tables | Direct writes to material document or stock tables are not supported | Old correction program that adjusted stock totals | Redesign with standard posting functions or retire |
| Batch inputs on retired transactions | Recordings of MB1A, ME21 or XK01 screens no longer work | Nightly upload of scrap postings via MB1A recording | Rebuild with BAPIs or standard mass apps |
| Supplier extracts and interfaces | Vendor numbers, fields or tables used differently after BP; numbers may change | Extract of suppliers to the spend analytics data warehouse | Map to business partner data; test the full interface |
| Material number handling | Fields or interfaces assuming 18 characters | EDI order messages to suppliers | Check field lengths in code and interfaces, especially if the extended format is activated |
| Rebate reports | Subsequent settlement replaced by contract settlement | Monthly Lakeside rebate accrual report | Rebuild on condition contracts; reconcile accruals |
| LIS-based purchasing analytics | Classic info structures are not the target analytics architecture | Purchasing volume report by supplier | Check the simplification item for your release; consider embedded analytics apps |
Procurement and inventory custom objects to review.
- Was the object used in production in the last 12 months?No → retire it, with the owner's agreement · Yes → next question
- Does a standard app or report now cover the need?Yes → replace it and train users · No → next question
- Does it write to simplified tables or use retired transactions?Yes → redesign with standard functions · No → next question
- Does it read simplified tables?Yes → keep, check performance and compare output · No → keep, include in regression
Working with IT
The procurement team owns the business answers: who uses the report, what decision it supports, what the right output is. IT owns the technical analysis and the fix. Put both on a single list per object with an owner, decision, fix status and test status, and review it in the same rhythm as defects. Contoso's list for procurement started with 186 custom objects; 71 were retired for lack of use, 24 were replaced by standard apps, and 91 were adapted and tested.
What would you do?
Contoso's spend analytics extract to the data warehouse runs without errors after the test conversion, but the supplier count in the warehouse is 3% lower than before. What should the team do?
- Custom code checks and usage data identify procurement objects affected by simplification items.
- Retire unused objects, replace with standard where possible, fix and test the rest.
- Watch writes to inventory tables, batch inputs on retired transactions, supplier interfaces, material number lengths and rebate reports.
- Compare every retained report's output with ECC or a standard report.
Check your understanding · not graded
Lesson check
1. Which kind of custom program must be redesigned rather than just checked?
2. What is the best first step for a custom report nobody has used in a year?
3. A batch input records MB1A screens. What happens after conversion?
4. Why compare a retained report's output with ECC or a standard report?