Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

F4 HELP

Former Member
0 Likes
694

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

7 REPLIES 7
Read only

arpit_shah
Contributor
0 Likes
670

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

Read only

former_member188829
Active Contributor
0 Likes
670

Hi,

Use the Function Module:

F4IF_INT_TABLE_VALUE_REQUEST

Read only

0 Likes
670

hi

thaks for reply .i know that FM . but any options is there to create a f4 help in table for filed.

Read only

0 Likes
670

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.

Read only

Former Member
0 Likes
670

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..+

Read only

Former Member
0 Likes
670

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.

Read only

Former Member
0 Likes
670

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