Eursap's SAP Tips: Stop Guessing - Let S/4HANA Tell You Why
Eursap's SAP Tips: Stop Guessing - Let S/4HANA Tell You Why.
Most of the S/4HANA "bugs" you will get asked about aren't bugs at all. The system did exactly what the configuration told it to do, and nobody can see why.
The usual response is to open SPRO, start reading condition tables and access sequences, and work it out by hand. That takes an hour and still involves guesswork.
The better habit is to ask the system. Core S/4HANA ships with determination analysis tools across SD, MM and FI that replay the logic step by step and show you where it stopped. Most of them have been there since R/3, and most people have never clicked them.
Here are six you should use frequently:
1. Revenue account determination: ask the billing document
A billing document posts to the wrong G/L account, or it won't release to accounting at all. The instinct is to go straight to VKOA and start reading table entries.
Instead, open the billing document in VF03 and go to Environment > Account Determination Analysis > Revenue Accounts.
You get the account determination procedure, the access sequence (typically KOFI), and every condition table the system tried. For each access you see the key values it used, such as chart of accounts, sales org, account assignment group of customer and material, and account key. It also shows whether a record was found.
The most common problem is a blank account assignment group on the customer or material master. The analysis shows that straight away, because the access runs with an empty field and finds nothing.
2. Inventory postings: simulate before you post
The MM equivalent is even more useful because you can run it before a document exists. Go to transaction OMWB and press “Simulation”.
Enter a plant, a material and a movement type, and the system shows every line the goods movement would generate. For each line you see the transaction key (BSX, GBB, WRX, PRD and so on), the account modifier, the valuation class and the G/L account.
This is the fastest way to answer "which account will a 201 hit for this cost centre?" or "why did this 101 go to price difference?". It also shows up gaps in OBYC before a user finds them in production with a posting error at month-end.
3. Partners: see where each one came from
A sales order picks up the wrong ship-to, or a hierarchy partner is missing so hierarchy pricing never fires. With the Business Partner in S/4HANA, partners now come from BP relationships, the customer's partner functions and the customer hierarchy. That means more possible sources.
In VA02/VA03, go to the header Partners tab and run the partner determination analysis from the Environment menu. The log lists each partner function in the procedure, its source (customer master, hierarchy, preceding document or manual entry), and why a function could not be determined.
This is the quickest way to prove whether the customer hierarchy path (1A–1D) was actually found for the order date. Hierarchy nodes are time-dependent, and an expired assignment looks exactly like a configuration error.
4. Output: two differing scenarios
"The invoice didn't print" is the most common ticket in any SD support queue. First establish which output framework the document type uses, because S/4HANA runs both side by side.
Classic condition technique (NAST). From the document's output screen (for example Extras > Output > Header in VA02), use Determination Analysis. It walks you through the output procedure and shows, per output type, which access found a condition record and which requirement blocked it.
S/4HANA Output Management (BRF+). Output is decided by the decision tables in Output Parameter Determination (the Fiori app, or transaction OPD). BRF+ has a built-in simulation: feed it the document's values and it shows which table row fired, or that none did.
If the output was determined but never arrived, the next stop is the output item's processing status and its log, not the determination.
5. Incompletion
A sales order won't deliver, a delivery won't bill, and nobody gets an error. The incompletion log is usually the reason.
Inside a single document in the relevant sales transaction, Edit > Incompletion Log lists every missing field and lets you jump straight to it. The status groups on each entry tell you what is blocked (delivery, billing, pricing or general). That matters, because an incomplete field only stops the processes its status group is set to block.
For the bigger picture, V.02 lists all incomplete sales orders, and the V.0x suite of transactions covers other SD documents. Running these weekly is a good housekeeping habit.
If the log flags a field the business doesn't care about, the fix is in the incompletion procedure (OVA2), not a user workaround.
6. When there's no analysis button: SLG1
Not every process has a dedicated analysis screen, but a large share of S/4HANA writes to the application log. SLG1 is the catch-all.
Filter by object and sub-object, a date range and a user, and you'll often find the detailed messages behind a vague on-screen error. This works for background jobs, mass changes, interfaces, migration runs and many Fiori apps whose errors disappear once the message closes.
Two habits make it far more useful. Always narrow by user and time window first. And when you find the message, open its long text and technical information, because the message class and number are what you need to search SAP Notes with.