06-14-2007 9:56 AM
Hi Experts,
What are the mandatory fields for FM :F4IF_INT_TABLE_VALUE_REQUEST
Can any body give some example for this/
Regards
06-14-2007 10:02 AM
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
06-14-2007 9:59 AM
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
06-14-2007 10:02 AM
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
06-14-2007 10:09 AM
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
06-14-2007 10:15 AM
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.
06-14-2007 10:05 AM
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.