I remember my middle school physics teacher once asked the class a question: "How can you double your pressure on the ground?"
- My classmate 1 reply almost immediately: Carry one object the same as your weight
- My quick answer is: stand on tiptoe
- My classmate 2 calmly said: just raise one foot
Today I recall this as I almost make the same mistake again when I got one issue that dispute case failed to send out via Idoc...
I quickly find this failed Idoc by using WE09 with filter field using dispute case ID. Then I got this message:
Never notice such kind of Idoc error with code 26. I check the source of this segment at the program and find this segment contains the notes of dispute case. After check these specific notes, I figure out the reason why Idoc failed: user copy&paste more than 1000 lines at dispute notes lead to a syntax error.
My first thought came to me immediately
Using BADI SCMG_VLDT_BFR_STR_C which I'm very familiar to validate the lines of notes, and popup error message to let the user adjust the length of notes when save button been hit.
My second thought came out after a while
What if the user really needs 1000+ lines as notes then I should not alert users about these limitations. I think maybe I should extend/append another sub-segment at that IDoc Segment to store the lines more than 1000 lines. This approach needs to adjust the program for sure.
The final approach
I take 1000 as up limit of IDOC segments for granted until I went to WE30 and find out the maximum number of sub-segment is totally customized and support up to 999999999!~ so straight forward compared with first 2 methods.
Conclusion:
Never take anything for granted - you may think it will be easy to complete with the technique you already familiar with.
Enhancement is achievable for many cases but not always the best solution. A more easier&standard approach may be just behind the surface.