Do you know the meaning of these two checkboxes in F2 popup?

/wp-content/uploads/2014/03/clipboard1_406025.png

Let’s first learn some prerequisite knowledge:

In Webclient UI workbench the poweful functionality is provided to ensure that the given feature is only available, if the bound business switch is in active status. For example you can open component BP_HEAD and find many view are added to overview area with a related business switch.

/wp-content/uploads/2014/03/clipboard2_406026.png

The same logic for navigation link and component usage:

/wp-content/uploads/2014/03/clipboard3_406027.png

/wp-content/uploads/2014/03/clipboard4_406028.png

in this blog we have discussed the ui configuration logic and know the customer configuration precedes the sap configuration. After the correct configuration is determined and IF it is sap configuration, framework will load the configuration xml data with the logic below:

1. if pre_proc_active_config_s is X ( we will discuss how this flag is initialized later )

framework will first try to load configuration data from table BSP_DL_XMLST_PR( Processed Standard Configuration for switch related handling ), if nothing found, then try BSP_DL_XMLSTRX2 instead ( Storagetable for delivered XML layout descriptions ).

For customer configuration, the configuration data is always loaded from table BSP_DL_XMLSTRX2.

/wp-content/uploads/2014/03/clipboard6_406029.png


In order to verify the described process above, I create a simple component with one overview page which contains only one assignment block which are bound to a business switch. The switch is set as deactivated.

/wp-content/uploads/2014/03/clipboard7_406030.png

Then I launch the UI. Since it is the first time the UI is accessed, it is apprarently that no entry for ZSWITCH in table BSP_DL_XMLST_PR,

so data is fetched from BSP_DL_XMLSTRX2 instead. BSP_DL_XMLSTRX2 stores configuration data which does not take switch handling into consideration.

After that, framework will try switch handling centrally in method DO_SWITCH_REL_HANDLING_RT:

/wp-content/uploads/2014/03/clipboard8_406031.png


In this method, you can find the processor for each type of switch related handling. In my example ( overview page) it is CL_BSP_DLC_LIST_BASED:

/wp-content/uploads/2014/03/clipboard9_406032.png

The switch handling is done by the processor method PROCESS_CONFIG_XML:

/wp-content/uploads/2014/03/clipboard10_406033.png

The assignment block view is considered as inactive due to the deactivated switch, however it is put to , so the ev_changed is set to X ( the checkbox Changed by Switch processing in F2 )

/wp-content/uploads/2014/03/clipboard11_406034.png

Finally the switch processing result is persisted to table BSP_DL_XMLSTRX2. So when the UI is reopened next time, the stored entry will be fetched instead.

/wp-content/uploads/2014/03/clipboard12_406035.png

When is pre_proc_active_config_s set to X

it is controlled by CL_BSP_DLC_CONFIGURATION2=>SWITCH_PROC_ACTIVE_CONFIG_S but could be deactivated via user parameter BSP_DLC_SWITCH_PROC.

/wp-content/uploads/2014/03/clipboard13_406036.png

CL_BSP_DLC_CONFIGURATION2=>SWITCH_PROC_ACTIVE_CONFIG_S will by default only be set to X if current system is set up as customer system.

/wp-content/uploads/2014/03/clipboard14_406037.png

You could also set value  VDTVRT to the user parameter, then UI framework will raise a notification message for you once the switch related handling is detected: 

/wp-content/uploads/2014/03/clipboard15_406038.png

/wp-content/uploads/2014/03/clipboard16_406039.png

The corresponding logic could be found in method below:

/wp-content/uploads/2014/03/clipboard17_406040.png

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Hongyan Shao

    thanks, Jerry. Great documents. But one question, how is one entry be added into table BSP_DL_XMLST_PR then? If one is making personalization, the entry should be created in personalization tables. How one configuration be added into table BSP_DL_XMLST_PR? I encounter one issue, the page itself seems no switch used, but there is one entry in table BSP_DL_XMLST_PR, how could that happen? The view is CRM_BSP_PERS/GenSettings, it is the personalization popup, which does not have personalization button at all.

    (0) 

Leave a Reply