flag no_redetermination and change mode

70 阅读1分钟

Created by Jerry Wang, last modified on Feb 16, 2015

Even a text object is selected for text determination execution, ( it means it is picked to execute subroutine determine_text ), however it does not mean that the real determination process will be executed:

 

clipboard1

 

 

The real logic ( subroutine copy_text ) will only be executed if flag no_redetermination = abap_false ( it means redetermination is necessary ).

 

clipboard2

 

 

 

There are two kinds of logics to determine the flag no_redetermination: switch and change mode.

 

 

Change mode

 

This flag is by default marked as true, which means the text determination must NOT be executed by default when CRM_ORDER_MAINTAIN is called.

clipboard3

 

The flag will remain its value if the MODE field in internal table it_comstruc_fieldtab is NOT equal to A.

It means for change mode B, the text determination must NOT be called.

clipboard4

 

So the question is, when and where the change mode A or B is filled?

the Opportunity guid is searched against database table, it hit, it means change mode = update ( B ), or else creation ( A ).

clipboard5