Recently, due to the upgrade, the SAP F4 help dialog box is changed to the modal dialog box. Some problems have occurred in the previously written programs (dynp_values_update and f4if_int_table_value_request ). The solution is as follows:
1. log on to the system with the sap * user, and choose "control" from the menu "help"> "Settings..."> "display" of "F4 help. This parameter will exist in the usr05 table and will affect the f4gmethod parameter.
2. log on with a new logon user, and choose "control" or "system ults" from the menu "Help-> Settings..."> "display" of "F4 help. This parameter will exist in the usr05 table and will affect the f4method parameter.
3. The code for modifying f4if_int_table_value_request is as follows:
* Immer modal Laufen
* {Insert prdk900023 1
If dynp_update = space or return_tab is requested or
Callcontrol-pvalues ne 'd '.
*} Insert
Clear: ocx_help_info-dynpprog, ocx_help_info-dynpro.
* {Insert prdk900023 2
Endif.
*} Insert
You can change the modal window to a non-modaless window.
4. SAP standard code for access to f4method and f4gmethod
Form check_ocx_switched_on
Changing ActiveX.
Data: ask_activex (10 ).
Statics: is_webgui, is_mozilla.
* L sort ft der GUI im its?
Call function 'its _ ping'
Exceptions
Its_not_available = 1
Others = 2.
If SY-SUBRC = 0.
* Its L branch ft.
Data: oldservice (128) type C.
Types: Begin of struc,
Oldservice (128) type C,
End of struc.
Data: oldservice_tab type table of struc with header line.
* Do We Have A webgui Service
If is_webgui is initial.
Call function 'aleweb _ get_context'
Exporting
Fieldname = '~ Webgu'
Fieldindex = 1
Tables
Data_tab = oldservice_tab
Exceptions
Invalid_index = 1
System_failure = 2
Its_not_available = 3
Communication_failure = 4
Others = 5.
If SY-SUBRC <> 0.
Endif.
If oldservice_tab EQ '1 '.
Is_webgui = 'y '.
Else.
Is_webgui = 'n '.
Endif.
Endif.
* The Search Help Control Support for Mozilla starts with Rel. 700
If is_mozilla is initial.
Call function 'aleweb _ get_context'
Exporting
Fieldname = '~ Useragenttype'
Fieldindex = 1
Tables
Data_tab = oldservice_tab
Exceptions
Invalid_index = 1
System_failure = 2
Its_not_available = 3
Communication_failure = 4
Others = 5.
If SY-SUBRC <> 0.
Endif.
If oldservice_tab EQ 'siexplorer '.
Is_mozilla = 'n '.
Else.
Is_mozilla = 'y '.
Endif.
Endif.
* Is it an ewt
Data: is_ewt.
Call function 'navigation _ check_tcode_type'
Exporting
Transaction_code = sy-tcode
With_message =''
Exceptions
Easy_web_transaction = 1
Not_html_enabled = 2
Others = 3.
If sy-subrc EQ 1.
Is_ewt = 'x '.
Endif.
If SY-SUBRC <> 0.
Endif.
If is_mozilla EQ 'y' and is_webgui EQ 'y '.
Clear ActiveX. Exit.
Endif.
If is_webgui ne 'y' or not is_ewt is initial.
ActiveX = 'x'. Exit.
Endif.
Endif.
Get parameter ID 'f4gmethod' field ask_activex.
If SY-SUBRC Ne 0.
Perform getsystemactivexsettings changing ask_activex.
Set parameter ID 'f4gmethod' field ask_activex.
Endif.
If ask_activex EQ 'activex '. "Its the system default
ActiveX = 'x '.
Get parameter ID 'f4method' field ask_activex.
If SY-SUBRC EQ 0.
If ask_activex EQ 'noactivex '. Clear ActiveX. endif.
Endif.
Else. "Old Style is the default
Get parameter ID 'f4method' field ask_activex.
If SY-SUBRC EQ 0.
If ask_activex EQ 'activex '. ActiveX = 'x'. endif.
Endif.
Endif.
Endform. "check_ocx_switched_onxiang
Related connection: http://blog.csdn.net/CompassButton/archive/2007/01/24/1492229.aspx