Application Development 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: 

F4IF_FIELD_VALUE_REQUEST

Former Member
0 Kudos
897

Hi Folks

created the search help

Applied to the table at Search Help

Called the field in the Screen then automatically display if u press F4

then what is the use of F4IF_FIELD_VALUE_REQUEST

some time in the program F4 may not be required for the field so what is the solution.

Regrds,

Vani

5 REPLIES 5

Former Member
0 Kudos
260

hi satya,

F4IF_FIELD_VALUE_REQUEST is used to fetch values for dropdown listboxes.

Pls reward if helpful.

Former Member
0 Kudos
260

Hi,

If u defined Search Help for a Field,then there is no need for F4IF_FIELD_VALUE_REQUEST.

Suppose if u want search Help for which you didn't defined Search Help in that case u have to use F4IF_FIELD_VALUE_REQUEST.

Regards,

Padmam.

Former Member
0 Kudos
260

Hi,

If there is no search help for a field you can provide help for that particular field using F4IF_FIELD_VALUE_REQUEST.

Or if you want to provide ur own search help it is used.

<b>Reward if helpful.</b>

Former Member
0 Kudos
260

Hi

in report programing suppose you have a selection screen , if you want to put search help for that selection screen field (filtered search help) like you will ristrict the search help for some values

<b>F4IF_FIELD_VALUE_REQUEST</b>

F4 help for fields that are only known at runtime

<b>Functionality</b>

This module permits the implementation of the standard help for a screen field whose reference to the ABAP Dictionary is only known at runtime.

If the module is called at the time PROCESS ON VALUE REQUEST, it behaves just like the standard help.

The reference to the ABAP Dictionary is needed in the form of the table and field names as input.

The module then determines the search help defined directly or indirectly in the Dictionary (e.g. also domain fixed values). If several parameters of the search help are linked with the Dictionary table or structure, the additional fields are searched for on the screen, as for the standard help, and the parameters are given their contents. The standard F4 process is then started. Depending on the user settings, this can also be implemented with the input help Control.

In addition to specifying the table and field names, you have the following alternatives:

Parameter TABNAME is assigned a data element (type). FIELDNAME is empty.

The search help (SEARCHHELP) is specified directly. In this case you should also pass the search help parameter (SHLPPARAM), which is used as return parameter. (For reasons of compatibility, you can also define only SEARCHHELP. In this case the first parameter of the search help is used as default for SHLPPARAM.)

If the screen information DYNPPROG, DYNPNR, DYNPROFIELD and possibly STEPL is also specified, the selected value is automatically stored in the screen field. Further export parameters are also stored there if they are found as input fields on the screen.

If the user activated the ActiveX help, the help is started amodally under the following conditions:

1. The screen information DYNPROG, DYNPNR and DYNPROFIELD must be defined.

2. When the function module is called, the RETURN_TAB may not be specified. (If the call is amodal, the function module returns before the user has specified a value.)

Normally values are only returned in input fields. This behavior can be influenced with the parameter DISPLAY (see parameter documentation).

(At the moment it is not possible to determine if it is ready for input. Development or correction of the screen area is necessary).

The input help key should only be activated in a screen field if there is actually an input help available. To find out if there is an input help for the Dictionary field, you can read the field information with module DDIF_NAMETAB_GET. Field F4AVAILABL in structure DFIES tells you if there is an input help available.

Previously you had to assign DYNPPROG and DYNNR the contents of SY-REPID and SY-DYNNR. However, for subscreens this information is not sufficient to uniquely define the screen. For reasons of compatibility the current screen is now determined internally as soon as DYNPPROG, DYNNR and DYNPROFIELD are passed and are not equal to SPACE. The actual contents are no longer important, but you are nevertheless advised to pass meaningful values to ensure the readability of the programs.

The value for STEPL is outside a step loop 0. The current row can be stored within a step loop at time POV with the function module DYNP_GET_STEPL.

If you do not want to return the selected value automatically, you should not define parameters DYNPROG and DYNNR. At the moment values are not returned if MULTIPLE_SELECTION is selected either, but this could change in the future.

<b>example</b>

according to my req

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_OBJID-LOW.

*  IF S_OBJID IS NOT INITIAL.

    SELECT OTYPE OBJID FROM HRP1000
                 INTO TABLE IT_OBJID_SH
                 WHERE OTYPE = 'D'.

 IF SY-SUBRC EQ 0.

* SEARCH HELP FOR QUALIFICATION.

    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
      EXPORTING
*              DDIC_STRUCTURE         = ' '
        RETFIELD               =  'OBJID'
*              PVALKEY                = ' '
       DYNPPROG               = SY-REPID
       DYNPNR                 = SY-DYNNR
       DYNPROFIELD            = 'S_OBJID'
*              STEPL                  = 0
*              WINDOW_TITLE           =
*              VALUE                  = ' '
       VALUE_ORG              = 'S'
*              MULTIPLE_CHOICE        = ' '
*              DISPLAY                = ' '
*              CALLBACK_PROGRAM       = ' '
*              CALLBACK_FORM          = ' '
*              MARK_TAB               =
*            IMPORTING
*              USER_RESET             =
      TABLES
        VALUE_TAB              =  IT_OBJID_SH
*              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.
    ENDIF.
  ENDIF.

              .

<b>Reward if usefull</b>

Former Member
0 Kudos
260

I'm closing my thread

Thanks to all

Regards,

Vani