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
1,165

Hi all,

For F4 help i am using FM'HELP_VALUES_GET_WITH_TABLE'.But it is obsolete.

Please reply with proper Fm's which work as same for F4 help.

Thanks in advance.

SAKR.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,118

hi,

use FM 'F4IF_INT_TABLE_VALUE_REQUEST'

Check this....

TABLES: mara, makt.

DATA mat LIKE mara-matnr.

DATA: BEGIN OF itab OCCURS 0,

matnr LIKE mara-matnr,

END OF itab.

DATA : BEGIN OF btab OCCURS 0,

maktx LIKE makt-maktx,

END OF btab.

DATA : return LIKE ddshretval OCCURS 0 WITH HEADER LINE.

SELECT-OPTIONS: so_matnr FOR mara-matnr,

so_maktx FOR makt-maktx.

INITIALIZATION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_matnr-low.

PERFORM matnr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_matnr-high.

PERFORM matnr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_maktx-low.

PERFORM maktx.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_maktx-high.

PERFORM maktx.

&----


*& Form matnr

&----


  • text

----


FORM matnr.

REFRESH itab.

SELECT matnr FROM mara INTO TABLE itab.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'MATNR '

dynprofield = 'P_MATNR '

dynpprog = sy-repid

dynpnr = sy-dynnr

value_org = 'S'

TABLES

value_tab = itab

return_tab = return.

mat = return-fieldval.

UNPACK mat TO mat.

so_matnr = return-fieldval.

REFRESH return.

CLEAR return.

ENDFORM. "matnr

&----


*& Form maktx

&----


FORM maktx.

REFRESH btab.

SELECT maktx FROM makt INTO TABLE btab WHERE matnr = mat AND spras =

sy-langu.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'MAKTX'

dynprofield = 'SO_MAKTX '

dynpprog = sy-repid

dynpnr = sy-dynnr

value_org = 'S'

TABLES

value_tab = btab

return_tab = return.

so_maktx = return-fieldval.

REFRESH return.

CLEAR return.

ENDFORM. "maktx

if helpful reward points

8 REPLIES 8
Read only

Former Member
0 Likes
1,118

Hi Sakr,

In the Module value_request_for_field_name call this Function Module 'F4IF_INT_TABLE_VALUE_REQUEST'.

Hope this resolves your query.

<b>Reward all the helpful answers.</b>

Regards

Read only

Former Member
0 Likes
1,118

Hi,

try these

F4IF_CHOOSE_SEARCHHELP

F4IF_DETERMINE_SEARCHHELP

F4IF_EXPAND_SEARCHHELP

Reward points if useful..

Regards

Nilesh

Read only

Former Member
0 Likes
1,118

See the following ex:

TYPES: BEGIN OF TY_MBLNR,

MBLNR LIKE MKPF-MBLNR,

END OF TY_MBLNR.

data: it_ret like ddshretval occurs 0 with header line.

DATA: IT_MBLNR TYPE STANDARD TABLE OF TY_MBLNR WITH HEADER LINE.

At selection-screen on value-request for s_mat-low.

Select MBLNR from mkpf into table it_mblnr.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

RETFIELD = 'MBLNR'

  • PVALKEY = ' '

  • DYNPPROG = ' '

  • DYNPNR = ' '

  • DYNPROFIELD = ' '

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

VALUE_TAB = IT_MBLNR

  • FIELD_TAB =

RETURN_TAB = IT_RET

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

IF SY-SUBRC = 0.

read table it_ret index 1.

move it_ret-fieldval to S_mat-low.

ENDIF.

At selection-screen on value-request for s_mat-high.

Select MBLNR from mkpf into table it_mblnr.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

RETFIELD = 'MBLNR'

  • PVALKEY = ' '

  • DYNPPROG = ' '

  • DYNPNR = ' '

  • DYNPROFIELD = ' '

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

VALUE_TAB = IT_MBLNR

  • FIELD_TAB =

RETURN_TAB = IT_RET

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

IF SY-SUBRC = 0.

read table it_ret index 1.

move it_ret-fieldval to S_mat-high.

ENDIF.

Read only

Former Member
0 Likes
1,119

hi,

use FM 'F4IF_INT_TABLE_VALUE_REQUEST'

Check this....

TABLES: mara, makt.

DATA mat LIKE mara-matnr.

DATA: BEGIN OF itab OCCURS 0,

matnr LIKE mara-matnr,

END OF itab.

DATA : BEGIN OF btab OCCURS 0,

maktx LIKE makt-maktx,

END OF btab.

DATA : return LIKE ddshretval OCCURS 0 WITH HEADER LINE.

SELECT-OPTIONS: so_matnr FOR mara-matnr,

so_maktx FOR makt-maktx.

INITIALIZATION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_matnr-low.

PERFORM matnr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_matnr-high.

PERFORM matnr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_maktx-low.

PERFORM maktx.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_maktx-high.

PERFORM maktx.

&----


*& Form matnr

&----


  • text

----


FORM matnr.

REFRESH itab.

SELECT matnr FROM mara INTO TABLE itab.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'MATNR '

dynprofield = 'P_MATNR '

dynpprog = sy-repid

dynpnr = sy-dynnr

value_org = 'S'

TABLES

value_tab = itab

return_tab = return.

mat = return-fieldval.

UNPACK mat TO mat.

so_matnr = return-fieldval.

REFRESH return.

CLEAR return.

ENDFORM. "matnr

&----


*& Form maktx

&----


FORM maktx.

REFRESH btab.

SELECT maktx FROM makt INTO TABLE btab WHERE matnr = mat AND spras =

sy-langu.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'MAKTX'

dynprofield = 'SO_MAKTX '

dynpprog = sy-repid

dynpnr = sy-dynnr

value_org = 'S'

TABLES

value_tab = btab

return_tab = return.

so_maktx = return-fieldval.

REFRESH return.

CLEAR return.

ENDFORM. "maktx

if helpful reward points

Read only

Former Member
0 Likes
1,118

Hi,

Try using the follwing Func Mod.

<b>F4_IF_FIELD_VALUE_REQUEST</b> : Use values from a DDIC table to provide a list of possible values. TABNAME and FIELDNAME are required fields, and when MULTIPLE_CHOICE is selected, more than one value can be returned.

<b>

F4IF_INT_TABLE_VALUE_REQUEST</b>: F4 help that returns the values selected in an internal table. Very handy when programming your very own F4 help for a field.

<b>F4IF_SHLP_EXIT_EXAMPLE</b>: documents the different reasons to use a search help exit, and shows how it is done.

<b>

F4IP_INT_TABLE_VALUE_REQUEST</b> :This function does not exist in 4.6 and above. Use F4IF_INT_TABLE_VALUE_REQUEST instead.

Hope this helps.

****Reward points if useful.

Read only

former_member196299
Active Contributor
0 Likes
1,118

hi Sakr,

Use FM VRM_GET_VALUES give the required import and export parameters and you will be able to provide the F4 help in your screen-field .

if you need sample progarm or code then let me know ...

Regards,

Ranjita

Read only

sharadendu_agrawal
Active Participant
0 Likes
1,118

----


  • Selection Screen *

----


SELECTION-SCREEN BEGIN OF BLOCK b01.

SELECTION-SCREEN BEGIN OF BLOCK b11 WITH FRAME TITLE text-b11.

PARAMETERS : p_local AS CHECKBOX DEFAULT 'X' MODIF ID grp,

p_output LIKE rlgrap-filename OBLIGATORY MODIF ID grp.

  • DEFAULT c_file. D-RD1K907385

SELECTION-SCREEN END OF BLOCK b11.

SELECTION-SCREEN BEGIN OF BLOCK b12 WITH FRAME TITLE text-b12.

SELECT-OPTIONS : s_paobjn FOR ykpcat_paobjnr-paobjnr MODIF ID mod,

s_type FOR ykpcat_paobjnr-type MODIF ID mod.

SELECTION-SCREEN END OF BLOCK b12.

SELECTION-SCREEN END OF BLOCK b01.

SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.

PARAMETERS : p_delws RADIOBUTTON GROUP rd1 USER-COMMAND flag,

p_modify RADIOBUTTON GROUP rd1 DEFAULT 'X',

p_delete RADIOBUTTON GROUP rd1 .

SELECTION-SCREEN END OF BLOCK b02.

----


  • AT SELECTION-SCREEN *

----


*--Providing F4 help for the Profitability Segment Number.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_paobjn-low.

PERFORM execute_f4help_field.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_paobjn-high.

PERFORM execute_f4help_field.

&----


*& Form execute_f4help_field

&----


  • Form Called for search help to the field Profitability

  • Segment Number

----


FORM execute_f4help_field .

*--Populating the internal table with only the Profitability segment

*--Numbers(PAOBJNR)

SELECT paobjnr

FROM ykpcat_paobjnr

INTO CORRESPONDING FIELDS OF TABLE t_ykpcat_paobjnr_help.

*--Function called for F4 help on Profitability Segment Number(PAOBJNR)

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'PAOBJNR'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'S_PAOBJN'

value_org = 'S'

TABLES

value_tab = t_ykpcat_paobjnr_help.

ENDFORM. " execute_f4help_field

Reward if helpful..

Sharadendu

Read only

Former Member
0 Likes
1,118

This thread is closed.thanks for your ans...