Skip to Content
author's profile photo
Former Member

Module Pool - POV

hi ,

I want to display a given set of nationalities(25/250) in the combobox of my module pool screen.

I hav used POV as follows .

..........

process on value-request.

field P0002-NATIO module onvalue_land1.

......

MODULE onvalue_land1 INPUT.

data : GT_LAND TYPE T005T OCCURS 10 WITH HEADER LINE .

DATA GT_RETURN like DDSHRETVAL occurs 0 with header line.

call function 'F4IF_INT_TABLE_VALUE_REQUEST'

exporting

retfield = 'NATI0'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'P0002-NATIO'

value_org = 'C'

tables

value_tab = GT_LAND

return_tab = gt_return

exceptions

parameter_error = 1

no_values_found = 2

others = 3.

.......................

While running my Combo box is blank .

Wht could be the problem ?

Any help would be much apperciated .

Regrds,

J

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

4 Answers

  • Best Answer
    author's profile photo
    Former Member
    Oct 03, 2005 at 03:25 AM

    Hi P079223,

    Try this .

    MODULE onvalue_land1 INPUT.

    DATA : VALUE_TAB TYPE VRM_VALUES .

    DATA WA LIKE LINE OF VALUE_TAB.

    " First write the code to select values in int table

    "GT_LAND

    LOOP AT GT_LAND.

    CLEAR WA.

    MOVE Gt_LAND-LAND1 TO WA-KEY.

    APPEAND WA TO VALUE_TAB.

    ENDLOOP.

    CALL FUNCTION 'VRM_SET_VALUES'

    EXPORTING

    ID = 'P0002-NATIO'

    VALUES = VALUE-TAB.

    ENDMODULE.

    ( Also the list box on field P002-NATIO should be enabled in screen painter in SE51 . In the Text I/O Templates the dropdown cloumn should be set to "L" ).

    Cheers

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Oct 03, 2005 at 12:47 PM

    Hi,

    Try to use this function module.

    POPUP_WITH_TABLE_DISPLAY

    for processw on vlaue help.

    In PAI specify

    PROCESS ON VALUE-REQUEST.

    FIELD DBTAb-FIELD MODULE HELP-FOR-FIELD NAME.

    where DBTAB is the database table name .

    IF you find the answer suitable please reward me with the points.

    Regards,

    Irfan Hussain

    Add comment
    10|10000 characters needed characters exceeded

  • Oct 03, 2005 at 02:56 AM

    GT_LAND will not be filled by the system. You have to fill it before calling the F4 function module.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      P079223,

      There is not Append statement between the select and endselect, so there is no way that the values are appended to the table. So, you will have to insert APPEND statement.

      Alternatively, if GT_LAND is of the same structure of T005T, you can use

      select * from T005T into TABLE GT_LAND where spras = 'EN' and land1 = 'IN' and land1 = 'AU' .

      The difference is the TABLE key word.

      Regards,

      Ravi

      Note : Please reward points if this helps you.

  • author's profile photo
    Former Member
    Oct 03, 2005 at 07:05 AM

    hi,

    there retfield u have defined as 'NATI0' ( NATI ZERO). replace it with 'NATIO'(O for Oxford ).

    after the function module according to ur requirement write the following code.

    IF sy-subrc <> 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

    ELSE .

    READ TABLE gt-return INDEX 1.

    call function 'F4IF_INT_TABLE_VALUE_REQUEST'

    exporting

    retfield = 'NATI0'

    dynpprog = sy-repid

    dynpnr = sy-dynnr

    dynprofield = 'P0002-NATIO'

    value_org = 'C'

    tables

    value_tab = GT_LAND

    return_tab = gt_return

    exceptions

    parameter_error = 1

    no_values_found = 2

    others = 3.

    I hope this will work.

    If ur problem is solved rewards points and close the thread.

    Add comment
    10|10000 characters needed characters exceeded