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_INT_TABLE_VALUE_REQUEST

Former Member
0 Kudos

Hi Experts,

What are the mandatory fields for FM :F4IF_INT_TABLE_VALUE_REQUEST

Can any body give some example for this/

Regards

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hello,

#

Check this sample.


FORM F4.
  refresh it_list.
  select * from z06pde12_sys appending corresponding fields of table
it_list
  order by systyp.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            RETFIELD    = 'SYSTYP'
            DYNPPROG    = 'Z06PDE12_RSUSR003'
            DYNPNR      = '1000'
            DYNPROFIELD = 'PA_SYST'
            VALUE_ORG   = 'S'
       TABLES
            VALUE_TAB   = it_list
            return_tab  = it_retn.
  .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.

REgards,

Vasanth

5 REPLIES 5

Former Member
0 Kudos

hi,

here's an example

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'ZXREFNUM'-> field name to request value

dynpprog = 'ZMME_E1_XREFUPD' -> program name

dynpnr = '1000' -> screen number

dynprofield = 'P_MATNR' -> screen field ( reference )

value_org = 'S'

TABLES

value_tab = t_lcross -> table where to get d values

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

in this case i will request all ZREFNUM values with matching P_MATNR in t_lcross

Former Member
0 Kudos

Hello,

#

Check this sample.


FORM F4.
  refresh it_list.
  select * from z06pde12_sys appending corresponding fields of table
it_list
  order by systyp.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            RETFIELD    = 'SYSTYP'
            DYNPPROG    = 'Z06PDE12_RSUSR003'
            DYNPNR      = '1000'
            DYNPROFIELD = 'PA_SYST'
            VALUE_ORG   = 'S'
       TABLES
            VALUE_TAB   = it_list
            return_tab  = it_retn.
  .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.

REgards,

Vasanth

0 Kudos

Hi ,

Thanks.

Is Return_TAB is mandatory.

See my code: is it ok?

Actually i ahve to replace with oloder version:

Old version:

  • CALL FUNCTION 'HELP_VALUES_GET_NO_DD_NAME'

  • EXPORTING

  • SELECTFIELD = C_SPRAS

  • TITEL = TEXT-074

  • USE_USER_SELECTIONS = C_SPACE1

  • IMPORTING

  • IND = W_IND

  • TABLES

  • FIELDS = IHELP_VALUE

  • FULL_TABLE = T_RFCDES

  • EXCEPTIONS

  • FULL_TABLE_EMPTY = 1

  • NO_TABLESTRUCTURE_GIVEN = 2

  • NO_TABLEFIELDS_IN_DICTIONARY = 3

  • MORE_THEN_ONE_SELECTFIELD = 4

  • NO_SELECTFIELD = 5

  • OTHERS = 6.

  • IF SY-SUBRC EQ 0.

  • READ TABLE T_RFCDES INDEX W_IND.

  • RFCDES-RFCDEST = T_RFCDES-RFCDEST.

  • ENDIF.

New version

W_REPID = SY-REPID.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

RETFIELD = C_SPRAS

  • PVALKEY = ' '

DYNPPROG = W_REPID

DYNPNR = W_DYNNR

  • DYNPROFIELD = ' '

  • STEPL = 0

WINDOW_TITLE = TEXT-074

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

VALUE_TAB = T_RFCDES

  • FIELD_TAB =

  • RETURN_TAB =

  • DYNPFLD_MAPPING =

EXCEPTIONS

PARAMETER_ERROR = 1

NO_VALUES_FOUND = 2

OTHERS = 3

.

IF SY-SUBRC EQ 0.

READ TABLE T_RFCDES INDEX W_IND.

RFCDES-RFCDEST = T_RFCDES-RFCDEST.

ENDIF.

can any body tell me is it ok in new version?

Regards

0 Kudos

hi,

return_tab is not mandatory,

even when u want to check what value u have entered in the selection screen dynamically then that return_tab is needed.

that is when u want to populate one field based on the value of the other filed value then this return_tab is needed .

if u want check my previous post u can under stand better.

Former Member
0 Kudos

hi,

check this code u can under stand better.

this is for a select-option where code is for both low and high.

TYPES: BEGIN OF VALUES,

DESCRIPTION like CRMd_orderadm_h-DESCRIPTION,

END OF VALUES.

DATA: PROGNAME LIKE SY-REPID, "program name

DYNNUM LIKE SY-DYNNR, "screen number

DYNPRO_VALUES TYPE TABLE OF DYNPREAD,

FIELD_VALUE LIKE LINE OF DYNPRO_VALUES,

VALUES_TAB1 TYPE TABLE OF VALUES,

VALUES_TAB2 TYPE TABLE OF VALUES.

DATA it_return LIKE ddshretval OCCURS 0 WITH HEADER LINE.

DATA L_DESCRIPTION like CRMd_orderadm_h-DESCRIPTION.

AT SELECTION-SCREEN ON value-REQUEST FOR S_DESCR-LOW.

read table IT_RETURN. "with key fieldname = 'S_DESCR-LOW'.

L_DESCRIPTION = IT_RETURN-fieldval.

SELECT DESCRIPTION

FROM CRMd_orderadm_h

INTO CORRESPONDING FIELDS OF TABLE VALUES_TAB1.

DELETE ADJACENT DUPLICATES FROM VALUES_TAB1.

IF L_DESCRIPTION NE SPACE.

DELETE FROM VALUES_TAB1 WHERE DESCRIPTION = L_DESCRIPTION.

ENDIF.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'DESCRIPTION'

dynprofield = 'S_DESCR-LOW'

dynpprog = SY-REPID

dynpnr = sy-dynnr

VALUE_ORG = 'S'

TABLES

VALUE_TAB = VALUES_TAB1

return_tab = it_return.

AT SELECTION-SCREEN ON value-REQUEST FOR S_DESCR-HIGH.

read table IT_RETURN. "with key fieldname = 'S_DESCR-HIGH'.

L_DESCRIPTION = IT_RETURN-fieldval.

SELECT DESCRIPTION

FROM CRMd_orderadm_h

INTO CORRESPONDING FIELDS OF TABLE VALUES_TAB1.

DELETE ADJACENT DUPLICATES FROM VALUES_TAB2.

IF L_DESCRIPTION NE SPACE.

DELETE FROM VALUES_TAB2 WHERE DESCRIPTION = L_DESCRIPTION.

ENDIF.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'DESCRIPTION'

dynprofield = 'S_DESCR-HIGH'

dynpprog = SY-REPID

dynpnr = sy-dynnr

VALUE_ORG = 'S'

TABLES

VALUE_TAB = VALUES_TAB2

return_tab = it_return.