‎2008 Jan 04 10:21 AM
HI all
i create a zemp table .in filed have no f4 help.
how to create a f4 help for fields.
means in program
parameters : ename type zemp-ename .
but this parameter have no f4 help.
so how to create a f4 help
‎2008 Jan 04 10:25 AM
try like this,
may be it is helpful to u.
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_vkorg FOR vbak-vkorg OBLIGATORY,
s_spart FOR vbrp-spart OBLIGATORY,
s_kunnr FOR vbak-kunnr,
s_matnr FOR vbap-matnr,
s_matkl FOR vbap-matkl,
s_auart FOR vbak-auart OBLIGATORY,
s_audat FOR vbak-audat,
s_vbeln FOR vbak-vbeln ,
s_werks FOR vbap-werks.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_auart-low.
SELECT auart
bezei
FROM tvakt
INTO CORRESPONDING FIELDS OF TABLE i_tvakt
WHERE auart LIKE 'OR%'
AND spras EQ 'EN'.
w_repid = sy-repid.
w_dynnr = sy-dynnr.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'AUART'
dynpprog = w_repid
dynpnr = w_dynnr
dynprofield = 'S_AUART-LOW'
value_org = 'S'
TABLES
value_tab = i_tvakt.
IF sy-subrc <> 0.
ENDIF.
**->AT SELECTION SCREEN FOR CONTRACT TYPE HIGH
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_auart-high.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'AUART'
dynpprog = w_repid
dynpnr = w_dynnr
dynprofield = 'S_AUART-HIGH'
value_org = 'S'
TABLES
value_tab = i_tvakt.
IF sy-subrc <> 0.
ENDIF.
**-->AT selection-screen event
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_vbeln-low.
v_repid = sy-repid.
v_dynum = sy-dynnr.
lw_dynpfields-fieldname = 'S_AUART-LOW'.
APPEND lw_dynpfields.
CLEAR lw_dynpfields.
*
lw_dynpfields-fieldname = 'S_AUART-HIGH'.
APPEND lw_dynpfields.
CLEAR lw_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = v_repid
dynumb = v_dynum
translate_to_upper = 'X'
TABLES
dynpfields = lw_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
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 lw_dynpfields WITH KEY fieldname = 'S_AUART-LOW'.
IF sy-subrc IS INITIAL.
MOVE lw_dynpfields-fieldvalue TO s_auart-low.
ENDIF.
READ TABLE lw_dynpfields WITH KEY fieldname = 'S_AUART-HIGH'.
IF sy-subrc IS INITIAL.
MOVE lw_dynpfields-fieldvalue TO s_auart-high.
ENDIF.
*
s_auart-sign = 'I'.
s_auart-option = 'EQ'.
APPEND s_auart.
SELECT vbeln
FROM vbak
INTO TABLE i_f4
WHERE auart IN s_auart.
w_repid = sy-repid.
w_dynnr = sy-dynnr.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'VBELN'
dynpprog = w_repid
dynpnr = w_dynnr
dynprofield = 'S_VBELN-LOW'
window_title = text-052
value_org = 'S'
TABLES
value_tab = i_f4.
IF sy-subrc <> 0.
ENDIF.
*-->AT SELECTION SCREEN FOR Contract Number High
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_vbeln-high.
w_repid = sy-repid.
w_dynnr = sy-dynnr.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'VBELN'
dynpprog = w_repid
dynpnr = w_dynnr
dynprofield = 'S_VBELN-high'
window_title = text-052
value_org = 'S'
TABLES
value_tab = i_f4.
IF sy-subrc <> 0.
ENDIF.
Regards,
Arpit
‎2008 Jan 04 10:26 AM
‎2008 Jan 04 10:29 AM
hi
thaks for reply .i know that FM . but any options is there to create a f4 help in table for filed.
‎2008 Jan 11 7:28 AM
hi kk,
There is a option to add a search help to the field at the table level..
just do as follows...
first create one search help for your field like this,
go to se11,
select search help radio button,
provide name and create,
select elementary search help radio button,
provide description,
select search for database table at 'selection method' input,
provide your table(for which table field u want to create search help),
then come to the field level,
difine your field in the table ,
enable imp and exp check boxes,
define lpos and pos as 1,
save and activate.
now search help has created,
go to your ztable and select the field and press the search help push button (which is there just above to the fields and beside to forien key icon),
provide your difined search help here then save and activate....
then f4 help can work for your field.
reward points if useful,
seshu.
‎2008 Jan 04 10:28 AM
Hi Kumar,
I will develop a small code 4 u check it once.It is executing successfully ok..
&----
*& Report YSEARCHHELP *
*& *
&----
*& DEVELOPER : KIRAN KUMAR.G.A *
*& PURPOSE : DEMO ON SEARCH HELP *
*& CREATION DT : 27/12/2007 *
*& REQUEST : ERPK900035 *
&----
REPORT YSEARCHHELP.
INTERNAL TABLE FOR STORING NAMES IN SELECTION LIST
data: begin of t_itab occurs 0,
name(10) type c,
end of t_itab.
*FIELDNAME AND TAB NAME FOR THE SELECTION
DATA :field_tab LIKE dfies OCCURS 0 WITH HEADER LINE.
*THE TABLE FOR RETURNING THE NAME OF THE SELECTED ITEM
DATA : return_tab LIKE ddshretval OCCURS 0 WITH HEADER LINE.
*START THE SELECTION SCREEN BLOCK
selection-screen begin of block ss1 with frame.
parameters: p_name1(10) type c.
selection-screen end of block ss1.
&----
*& *
*& F4 Help for p_name1 *
&----
at selection-screen on value-request for p_name1.
*CLEAR ALL EXISTING DATA
*TO BE DONE EVERYTIME F4 HELP IS REQUESTED
REFRESH t_itab.
REFRESH field_tab.
field_tab-fieldname = 'ERNAM'.
field_tab-tabname = 'VBAK'.
APPEND field_tab.
t_itab-name = 'Andrews'.
append t_itab.
t_itab-name = 'Jennie'.
append t_itab.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = field_tab-fieldname
PVALKEY = ' '
DYNPPROG = ' '
DYNPNR = ' '
DYNPROFIELD = ' '
STEPL = 0
WINDOW_TITLE = 'Select name'
VALUE = ' '
VALUE_ORG = 'C'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
tables
value_tab = t_itab
FIELD_TAB = field_tab
RETURN_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.
else.
p_name1 = return_tab-fieldval.
ENDIF.
Award points if helpful.
Kiran Kumar.G
+ Have a Nice Day..+
‎2008 Jan 04 10:29 AM
hi,
use this fn module F4IF_INT_TABLE_VALUE_REQUEST
fill the internal table with the values u want to display and pass it to this FM.
call this Fm on
at selection-screen on value request event.
‎2008 Jan 04 10:35 AM
Hi Kumar,
Use the following code.
data: begin of itab occurs 0,
pernr like pa0001-pernr,
ename like pa0001-ename,
end of itab.
DATA: t_return LIKE ddshretval OCCURS 0 WITH HEADER LINE.
at selection-screen on value request for P_PERNR.
select * from pa0001 into table itab.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'PERNR'
value_org = 'S'
TABLES
value_tab = iTAB
return_tab = t_return.
iF IT IS USEFULL PLS DO REWARD
Regards
Srimanta