2008 Nov 18 6:00 AM
Hi Experts,
I need to implement F4 help for fields on the screen. These fields do not have a data elemnt in the PS structure. Pointers on how to give and where to give the code for F$ help will be a great deal of help.
TIA.
2008 Nov 19 7:58 AM
Hi,
If you want to use F4 in the screen, see the following sample :
process on value-request.
field zebeln "field name on the screen
module mod_get_value_po.
module mod_get_value_po input.
perform sub_get_sch_data.
perform sub_show_f4_help_po.
endmodule.
form sub_get_sch_data.
select ebeln
from ekpo
into table i_sch_hlp
endform.
form sub_show_f4_help_po.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'EBELN'
dynpprog = 'ZMM16' "program name
dynpnr = '0100' "screen number
dynprofield = 'ZEBELN' " screen field
tables
value_tab = i_sch_hlp
exceptions
parameter_error = 1
no_values_found = 2
others = 3
.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform.
Hi Experts,
I need to implement F4 help for fields on the screen. These fields do not have a data elemnt in the PS structure. Pointers on how to give and where to give the code for F$ help will be a great deal of help.
TIA.
2008 Nov 18 6:05 AM
Hi,
Plz find the below sample code.
It may help u.
FORM F_GET_details .
REFRESH INT_RET.
*--THIS WILL FETCH THE details
SELECT a~Bill a~plant Number b~BillingDate
INTO TABLE int_table
FROM ( ztable_numplant AS a
INNER JOIN
ztable_numdate AS b
ON a~billnimber = b~billnumber ).
IF SY-SUBRC NE 0.
*--MESSAGE IS 'NO data found'
ELSE.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'screen field'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = INT_tab
RETURN_TAB = INT_RET
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
READ TABLE INT_RET INDEX 1 INTO INT_RET.
WF_data_needed = INT_RET-FIELDVAL.
ENDIF.
ENDFORM.
Regards,
Anversha
2008 Nov 18 8:03 AM
Hi,
1.you can assign search help(F4 help) at design time by double clicking the field.
2.use POV event in screen flow logic and call module for screen field in FIELD statment.
write code in module to show dynamic help by using FM f4if_int_table_value_request.
2008 Nov 18 8:28 AM
Hi,
You can provide the input help to a screen field at PROCESS ON-VALUE REQUEST event.
Hope it helps.
Murthy
2008 Nov 18 10:35 AM
Write this function module in AT SELECTION SCREEN:
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = '/FIR/REHS0BGST21'
retfield = 'WERKS'
* PVALKEY = ' '
DYNPPROG = sy-repid
DYNPNR = sy-dynnr
DYNPROFIELD = 'S_WERKS'
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
VALUE_ORG = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = 'X'
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* MARK_TAB =
* IMPORTING
* USER_RESET =
tables
value_tab = it_FIRREHS0BGST21[]
* FIELD_TAB =
* RETURN_TAB =
* DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.or
can follow these simple steps for search help:
go to se11==> put some name after ticking search help radiobutton==> create==>
then tick " elementery search help " and press enter ===>then put description and table name in selection method ===>then put the field on which u want search help
in search help parameter==> tick IMP EXP ==> write 1 in lpos and spos===>save and activate===> double click on table name ===> select that field and press search help tab above===> then copy
Thanks & Regards:
Alok Bansal
2008 Nov 19 7:58 AM
Hi,
If you want to use F4 in the screen, see the following sample :
process on value-request.
field zebeln "field name on the screen
module mod_get_value_po.
module mod_get_value_po input.
perform sub_get_sch_data.
perform sub_show_f4_help_po.
endmodule.
form sub_get_sch_data.
select ebeln
from ekpo
into table i_sch_hlp
endform.
form sub_show_f4_help_po.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'EBELN'
dynpprog = 'ZMM16' "program name
dynpnr = '0100' "screen number
dynprofield = 'ZEBELN' " screen field
tables
value_tab = i_sch_hlp
exceptions
parameter_error = 1
no_values_found = 2
others = 3
.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform.
2008 Nov 20 4:14 AM
Hi Gu chris
Thanks for your reply
But where should I place this Process on Value Request Event. Between PAI and PBO or after PAI?
TIA
2008 Nov 20 5:15 AM
Hi,
There is no proper order. so, you can write Process on value request anywhere in flow logic. Better follow this sequence PBO,PAI,POV,POH.
2008 Nov 19 9:02 AM
Check out with this function module
'F4IF_INT_TABLE_VALUE_REQUEST'
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |