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

F4IF_INT_TABLE_VALUE_REQUEST entries not displaying

Former Member
0 Likes
3,413

Hello

I am using FM: F4IF_INT_TABLE_VALUE_REQUEST

I am passing 3 entries through the internal table but the entries are not getting displayed in the popup window

but it showing in the title 3 entries found.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

       EXPORTING

*   DDIC_STRUCTURE         = ' '

         RETFIELD               = 'RE1'

*   PVALKEY                = ' '

*   DYNPPROG               =

*   DYNPNR                 =

*   DYNPROFIELD            = ' '

*   STEPL                  = 0

*   WINDOW_TITLE           = 'REMARKS'

*   VALUE                  = ' '

    VALUE_ORG              = 'S'

*   MULTIPLE_CHOICE        = ' '

*   DISPLAY                = ' '

*   CALLBACK_PROGRAM       = ' '

*   CALLBACK_FORM          = ' '

*   MARK_TAB               =

* IMPORTING

*   USER_RESET             =

       TABLES

         VALUE_TAB              = IT_REMARKS

*   FIELD_TAB              =

         RETURN_TAB             = V_RETURN

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

please suggest me to solve this issue

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,202

Hi Kris nh,

You have to give FIELDS and their VALUES as internal tables and also a table for catching the selected fields. The field which is to be returned should also be supplied.

   lwa_field-tabname = 'DFIES'.

   lwa_field-fieldname = 'FIELDNAME'.

   APPEND lwa_field TO lt_fields.

   lwa_field-tabname = 'DFIES'.

   lwa_field-fieldname = 'SCRTEXT_L'.

   APPEND lwa_field TO lt_fields.

   LOOP AT lt_fieldinfo INTO lwa_fieldinfo.

     lwa_value-value = lwa_fieldinfo-fieldname.

     APPEND lwa_value TO lt_values.

     lwa_value-value = lwa_fieldinfo-scrtext_l.

     APPEND lwa_value TO lt_values.

   ENDLOOP.

   CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

     EXPORTING

*     ddic_structure  = ' '

       retfield        = 'FIELDNAME'

*     VALUE_ORG       = 'S'

     TABLES

       value_tab       = lt_values[]

       field_tab       = lt_fields[]

       return_tab      = lt_return[]

     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.

In the above example I am trying to show some field names with their descriptions in the pop-up and it will return me the field name I have selected.

Hello

I am using FM: F4IF_INT_TABLE_VALUE_REQUEST

I am passing 3 entries through the internal table but the entries are not getting displayed in the popup window

but it showing in the title 3 entries found.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

       EXPORTING

*   DDIC_STRUCTURE         = ' '

         RETFIELD               = 'RE1'

*   PVALKEY                = ' '

*   DYNPPROG               =

*   DYNPNR                 =

*   DYNPROFIELD            = ' '

*   STEPL                  = 0

*   WINDOW_TITLE           = 'REMARKS'

*   VALUE                  = ' '

    VALUE_ORG              = 'S'

*   MULTIPLE_CHOICE        = ' '

*   DISPLAY                = ' '

*   CALLBACK_PROGRAM       = ' '

*   CALLBACK_FORM          = ' '

*   MARK_TAB               =

* IMPORTING

*   USER_RESET             =

       TABLES

         VALUE_TAB              = IT_REMARKS

*   FIELD_TAB              =

         RETURN_TAB             = V_RETURN

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

please suggest me to solve this issue

15 REPLIES 15
Read only

Former Member
0 Likes
2,203

Hi Kris nh,

You have to give FIELDS and their VALUES as internal tables and also a table for catching the selected fields. The field which is to be returned should also be supplied.

   lwa_field-tabname = 'DFIES'.

   lwa_field-fieldname = 'FIELDNAME'.

   APPEND lwa_field TO lt_fields.

   lwa_field-tabname = 'DFIES'.

   lwa_field-fieldname = 'SCRTEXT_L'.

   APPEND lwa_field TO lt_fields.

   LOOP AT lt_fieldinfo INTO lwa_fieldinfo.

     lwa_value-value = lwa_fieldinfo-fieldname.

     APPEND lwa_value TO lt_values.

     lwa_value-value = lwa_fieldinfo-scrtext_l.

     APPEND lwa_value TO lt_values.

   ENDLOOP.

   CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

     EXPORTING

*     ddic_structure  = ' '

       retfield        = 'FIELDNAME'

*     VALUE_ORG       = 'S'

     TABLES

       value_tab       = lt_values[]

       field_tab       = lt_fields[]

       return_tab      = lt_return[]

     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.

In the above example I am trying to show some field names with their descriptions in the pop-up and it will return me the field name I have selected.

Read only

0 Likes
2,202

When I am trying with the above example

I am getting type conflict error when I am passing

field catalog table   field_tab       = I_FCAT.

Read only

0 Likes
2,202

Kris nh, try with types used in the Function Module.

   DATA: BEGIN OF lwa_value,

           value LIKE help_info-fldvalue,

         END OF lwa_value,

         lt_values LIKE TABLE OF lwa_value,

         lt_fields TYPE ddfields,

         lwa_field TYPE dfies,

         lt_return TYPE TABLE OF ddshretval,

         lwa_return LIKE LINE OF lt_return.

Read only

0 Likes
2,202

Now after i use help_info-fldvalue the values are displaying in the popup window.

But when I select the entry it is not displaying in ALV Grid.

I am using SLIS_FIELDCAT_ALV instead of DDFIELDS & DFIES.

So should I need to change complete logic for field catalog.

Please suggest me..

Read only

0 Likes
2,202

Hey Kris nh, you have to pass the FM with same table/structure types it has.

Make sure you are passing RETFIELD and lt_RETVALUES.

After calling that FM you will get the selected field in lt_RETVALUES table.

Check this...

READ TABLE lt_return INTO lwa_return INDEX 1.

   GET CURSOR FIELD lv_field LINE lv_line.

   ASSIGN (lv_field) TO <lv_field>.

   <lv_field> = lwa_return-fieldval.

Read only

0 Likes
2,202

Hi Krish,

check the following code

to pass the data to your final screen,


clear wa_return.

read  V_RETURN into wa_return index 1.

if sy-subrc = 0.

final alv struct-field = wa_return-field.

endif.

Regards,

Gurunath

Read only

Former Member
0 Likes
2,202

Hi Krish,

I think you need to give the value for the following fields while executing the above FM:

DYNPPROG            =  sy-repid

DYNPNR                 = sy-dynnr

DYNPROFIELD      = Fieldname in which F4 help need to be shown

Read only

0 Likes
2,202

Hi arnab,

I tried as you said but still no change.

Read only

0 Likes
2,202

Krish,

Have you given the fieldname in DYNPROFIELD withing single quote?

Or else can you copy paste the code currently you have written?

Read only

0 Likes
2,202

Please check once..

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

       EXPORTING

*   DDIC_STRUCTURE         = ' '

         RETFIELD               = 'RE1'

*   PVALKEY                = ' '

    DYNPPROG               = sy-repid

    DYNPNR                 = sy-dynnr

    DYNPROFIELD            = 'RE1'

*   STEPL                  = 0

    WINDOW_TITLE           = 'REMARKS'

*   VALUE                  = ' '

    VALUE_ORG              = 'S'

*   MULTIPLE_CHOICE        = ' '

*   DISPLAY                = ' '

*   CALLBACK_PROGRAM       = ' '

*   CALLBACK_FORM          = ' '

*   MARK_TAB               =

* IMPORTING

*   USER_RESET             =

       TABLES

         VALUE_TAB              = IT_REMARKS[]

*        FIELD_TAB              = I_FCAT[]

         RETURN_TAB             = V_RETURN[]

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

Read only

0 Likes
2,202

Hello,

in retfield pass internal table field name.

dynprog = sy-repid

dynprofield = name of field in the screen.

value_org = 'S'.

check your it_remarks in debugging mode that value are populated or not....

use at selection-screen on value request for <screen fieldname>.

then use f4_if_int_table_value_request fm.

if sy-subrc eq 0.

screen field = V_return-fieldval.

hope solved your issue, if not revart back......

Thanks

Sabyasachi

Read only

0 Likes
2,202

Hi Krish,

What is the selection screen field name for which you want to get the F4 help using the above FM?

You need to give that selection screen field name withing single quote in the DYNPROFIELD of the FM.

For ex,in my selection screen suppose I have material no. (MATNR) as a select-options and the declaration for the selection screen field is as follows:

SELECT-OPTIONS:   so_matnr    FOR  matnr.

So here, you need to give: DYNPROFIELD = 'so_matnr'.

And you need to write the above code (FM) in the following event:

AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_matnr.

FIELD_TAB & RETURN_TAB is not required.

Hope this will help you. Please check and provide me points in case helpful to you.

Read only

0 Likes
2,202

Hello arnab,

dont ask for point.....plz read SCN RULES AND ENGAGEMENT....... moderator also block your answer for asking point.....

Thanks

SAbyasachi

Read only

0 Likes
2,202

Hi Sabyasachi,

Yes that's mistakenly done...Sorry for that. Hope the issue will now be solved.

Read only

0 Likes
2,202

Hello,

  

this was not my question.....question asked by kris nh.....if he considered that your answer is approprite to solve his issues he must give you point...........dont ask for point.....its good for you and your reputation in SCN side.......