This post is dedicated to the four hours of my life I lost trying to figure out why my mandatory header texts were misbehaving. A client had requested that a header text be mandatory for all Credit Memo (CR) and Debit Memo (DR) documents. Makes sense. Standard SAP only prescribes an order reason be maintained, but sometimes you want to capture more details behind the rationale for such transactions. “Easy breezy,” I thought. Wrong.
In SAP, each SD Document type is aligned with a Text Procedure — a list of allowable text types. This text procedure also allows you to specify whether each Text Type is optional or mandatory. This setting exists OUTSIDE the normal SD Incompletion Procedure, where you will find no mention of Long Text fields. I maintained a new text procedure with a mandatory text type, assigned my CR and DR documents, and created my transport.
As expected, when processing CR’s and DR’s I was confronted by the Incompletion message when saving my documents. HOWEVER, if I chose to save the incomplete order, I was STILL ABLE to create the subsequent billing document. I tried this on a Return order (RE) with similar results: I was able to create the Returns Delivery and subsequent Billing Document. What the heck!?!?
My initial analysis was fruitless — no IMG settings, no SAP Notes, nothing. I was able to reproduce the same behavior in other clients’ systems. This is standard SAP behavior! I rolled up my sleeves to see what was happening. Here’s what I found.
- ’50’ – Header texts
- ’51’ – Item texts
Digging one level deeper into table TVUVF, you will find that each of these procedures contains one rule referencing table “FTEXT” and field “LTEXT”. More importantly, each is assigned to status group “00”. AND THERE’S THE RUB! The Status Group is responsible for determining the system’s reaction to each incomplete item. For example, even though you may be missing a required value on the Sales Order you may still wish to allocate available inventory, but you may NOT want to allow for delivery creation. But by default, the “00” status group does not make any restrictions. This explains why I was still able to create subsequent documents when I was missing my, so called, “obligatory” Long Text.
So, now the question becomes how to change this behavior. I had a few options:
- I could change the settings for group “00”. This is not recommended since there are other rules which may direct to this same group.
- Somehow, change the assignment of Incompletion Procedure ’50’.
I decided to try changing the assignment for my Procedure. Armed with the new clues I discovered, I was able to find an SAP note (#89756) which describes this exact issue. The Note explains that a maintenance view is available for changing this assignment — just maintain V_TVUVF using SM30. I was able to change the default value of “00” to “04” which would prevent delivery and billing document creation. After changing that, everything works as the client needed. Happy client. Frustrated consultant.
I find it paradoxical that, by default, SAP would allow for a missing “obligatory” text field to allow subsequent document creation. This would not be much of an issue if there were ANY hints — apart from a lone SAP Note — about the nature of this standard behavior. The icing on the cake is the odd way that you have to maintain the setting. It is possible that this setting is buried somewhere in the IMG, though ideally it would sit alongside the other Text Determination or Incompletion settings. I hope this helps someone who has this same requirement. Please let me know if it does!