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. Read on to master SAP Mandatory Sales Text.
Some background on SAP Order Texts
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!?!?
What’s Happening?
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.
By default, the sales document header and item texts are assigned to their own hidden Incompletion Procedures. You can find this relationship in Table TVUV using SE16n:
- ’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.
What to do?
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.
Final Thoughts on SAP Mandatory Sales Text
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!
Helped me immensely. Tons of Thanks for posting this.
I’m glad that I was able to help someone else. I remember that being a tricky, frustrating matter. Thanks for commenting!
Hi Michel
Thank you so much for this posting . You did save 4 hrs of my life .Post helped me allot . I am a Happy consultant From Frustrated consultant.
I’m glad this helped you. Thank you very much for letting me know. I enjoy getting this type of feedback.
Looks really interesting…will be helpful for sure !!!
Thanks for sharing.
Michel,
This is really helpful information. This has helped me to finalize a solution.
Glad to hear it, Yati! Thanks for posting.
Can you help, please?
My requirement is that if the header text is missing, the sales document should error – thereby forcing the user to complete the mandatory header text.
Funso,
Did you read the article? It explains how to do exactly what you need.
Michael
thanks..this helped me resolving the similar issue.
Thanks so much for commenting!
Hi Michael, I am working on this issue since 3-4 days, after reading your blog, I was able to solve this issue. Thank you so much!
Great, Yash! I’m always happy to read these types of comments. Thank you for sharing.