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

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.

  1. ScanCustom code checks flag objects that touch simplified tables, transactions and fields
  2. UsageProduction usage data shows which objects are used and by whom
  3. DecideRetire unused objects; replace with standard apps where possible; fix the rest
  4. FixDevelopers adapt code; owners confirm expected output
  5. TestCompare output with standard reports and ECC results
Working through custom procurement code for a conversion.
The Sign-Off Table · thesignofftable.com/academy/sap-mm-304

Typical procurement and inventory objects at risk

Object typeWhy at riskContoso exampleAction
Custom stock reportsRead stock aggregates or MSEG through compatibility views; may be slow or calculate differentlyZ-report of stock by storage location used by Chicago plannersCompare with MMBE and Stock - Multiple Materials; tune or replace
Programs writing inventory tablesDirect writes to material document or stock tables are not supportedOld correction program that adjusted stock totalsRedesign with standard posting functions or retire
Batch inputs on retired transactionsRecordings of MB1A, ME21 or XK01 screens no longer workNightly upload of scrap postings via MB1A recordingRebuild with BAPIs or standard mass apps
Supplier extracts and interfacesVendor numbers, fields or tables used differently after BP; numbers may changeExtract of suppliers to the spend analytics data warehouseMap to business partner data; test the full interface
Material number handlingFields or interfaces assuming 18 charactersEDI order messages to suppliersCheck field lengths in code and interfaces, especially if the extended format is activated
Rebate reportsSubsequent settlement replaced by contract settlementMonthly Lakeside rebate accrual reportRebuild on condition contracts; reconcile accruals
LIS-based purchasing analyticsClassic info structures are not the target analytics architecturePurchasing volume report by supplierCheck the simplification item for your release; consider embedded analytics apps

Procurement and inventory custom objects to review.

  1. Was the object used in production in the last 12 months?No → retire it, with the owner's agreement · Yes → next question
  2. Does a standard app or report now cover the need?Yes → replace it and train users · No → next question
  3. Does it write to simplified tables or use retired transactions?Yes → redesign with standard functions · No → next question
  4. Does it read simplified tables?Yes → keep, check performance and compare output · No → keep, include in regression
Deciding what to do with each custom procurement object.
The Sign-Off Table · thesignofftable.com/academy/sap-mm-304

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?

Key points
  • 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. 1. Which kind of custom program must be redesigned rather than just checked?

  2. 2. What is the best first step for a custom report nobody has used in a year?

  3. 3. A batch input records MB1A screens. What happens after conversion?

  4. 4. Why compare a retained report's output with ECC or a standard report?