为什么SAP系统里用户输入的文本不会被文本自动决定逻辑覆盖掉

why the user input text will not be overwritten by text determination procedure

For example all of the below 3 texts are automatically determined. When I manually change the content of the first text, why my manual change will persist and not overwritten by text determination procedure?

[Test]{.underline}

I manually change the content:

And click back button:

Please keep in mind, that in this case the text determination procedure is STILL triggered:

The global variable gt_xthead stored the current four text objects' content in memory. For O003, it does not have language specified since there is no determination result for it.

The content of each text is stored in internal table LINES.

In our example, we are making changes on O001E, double click on the internal table LINES, and we will find our manual input there:

[Reason why manual content is NOT overwritten]{.underline}

For all three text objects which have already been determined successfully, the condition in line 206~208 will NOT fulfill, so the text redetermination will NOT occur, thus the user manual input will persist.

[Simulate the overwrite case]{.underline}

It is easy to simulate the overwrite case, just force the code to be executed starting from line 210 via debugger.

standard text template content is re-filled ( Insertion ):

Click F8 to continue, and you will find our manual input is gone, instead the standard template content is displayed again.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":


你可能感兴趣的:(为什么SAP系统里用户输入的文本不会被文本自动决定逻辑覆盖掉)