‎2008 Feb 18 11:07 AM
HI,
i have table of employee name and number and i wont to
do in screen that when user push f4 in name it open
all the names that i have in the table emp_tab
i new in this topic
what is the best way to do that?
this is my code
Regards
<REMOVED BY MODERATOR>
TYPES: BEGIN OF 1_tab,
pernr TYPE pernr_d,
nachn TYPE pad_nachn,
vorna TYPE pad_vorna,
END OF 1_tab.DATA: emp_tab TYPE TABLE OF 1_tab WITH HEADER LINE.SELECT-OPTIONS: fir_name FOR emp_tab-vorna.SELECT *FROM pa0002INTO CORRESPONDING FIELDS OF TABLE emp_tabWHERE begda LE sy-datumAND endda GE sy-datum.Edited by: Alvaro Tejada Galindo on Feb 18, 2008 2:16 PM
‎2008 Feb 18 11:15 AM
Hi,
Im not getting ur exact req.........but this code might help...
PARAMETERS : p_state TYPE char20,
p_city TYPE char18.
DATA : BEGIN OF t_state OCCURS 0,
state TYPE char20,
END OF t_state,
BEGIN OF t_city OCCURS 0,
city TYPE char18,
END OF t_city.
DATA : r_state TYPE TABLE OF ddshretval WITH HEADER LINE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_state.
REFRESH t_state.
APPEND 'Tamil nadu' TO t_state.
APPEND 'Kerala' TO t_state.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'STATE'
dynpprog = sy-repid
dynpnr = '1000'
dynprofield = 'P_STATE'
window_title = 'State'
value_org = 'S'
TABLES
value_tab = t_state[]
RETURN_TAB = r_state[]
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_city.
REFRESH t_city.
LOOP AT r_state.
CASE r_state-fieldval.
WHEN 'TAMIL NADU'.
APPEND 'Chennai' TO t_city.
APPEND 'Madurai' TO t_city.
WHEN 'KERALA'.
APPEND 'Trivandrum' TO t_city.
APPEND 'Kochi' TO t_city.
ENDCASE.
ENDLOOP.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'CITY'
dynpprog = sy-repid
dynpnr = '1000'
dynprofield = 'P_CITY'
window_title = 'City'
value_org = 'S'
TABLES
value_tab = t_city[]
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.Cheers,
jose.
‎2008 Feb 18 11:11 AM
Hello,
Make use of the FM F4IF_INT_TABLE_VALUE_REQUEST
" Sample code
REPORT ZV_F4_TABLE .
PARAMETERS P_TABLE LIKE DD02T-TABNAME." occurs 0 with header line.
DATA: ITAB LIKE DD02T OCCURS 0 WITH HEADER LINE.
AT SELECTION-SCREEN ON P_TABLE.
SELECT * FROM DD02T INTO TABLE ITAB
WHERE TABNAME LIKE 'Z*'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
RETFIELD = 'TABNAME'
* PVALKEY = ' '
DYNPPROG = 'ZV_F4_TABLE'
DYNPNR = '1000'
DYNPROFIELD = 'P_MATNR'
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
* VALUE_ORG = 'C'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
TABLES
VALUE_TAB = ITAB
* FIELD_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.
Cheers,
Vasanth
‎2008 Feb 18 11:42 AM
HI ,
i try like u write but nothing happen.
what i miss?
aT SELECTION-SCREEN ON P_TABLE.
SELECT *FROM pa0002INTO CORRESPONDING FIELDS OF TABLE emp_tabWHERE begda LE sy-datumAND endda GE sy-datum.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING* DDIC_STRUCTURE = ' '
RETFIELD = 'EMP_TAB'* PVALKEY = ' '
DYNPPROG = 'ZV_F4_TABLE'
DYNPNR = '1000'
DYNPROFIELD = 'P_MATNR'* STEPL = 0* WINDOW_TITLE =* VALUE = ' '* VALUE_ORG = 'C'* MULTIPLE_CHOICE = ' '* DISPLAY = ' '* CALLBACK_PROGRAM = ' '* CALLBACK_FORM = ' '
TABLES
VALUE_TAB = emp_tab* FIELD_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.
‎2008 Feb 18 11:46 AM
u have used p_matnr in place of ur field name p_table
and 'S' in place of 'C'.
Regards...........
Edited by: Dayakar Chirivella on Feb 18, 2008 12:49 PM
‎2008 Feb 18 11:50 AM
Hello,
Change the values like this:
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
RETFIELD = 'EMP_TAB'
* PVALKEY = ' '
DYNPPROG = 'ZV_F4_TABLE' " Here the report name
DYNPNR = '1000'
DYNPROFIELD = 'P_MATNR' " Here give your the screen field name
Cheers,
Vasanth
‎2008 Feb 18 11:58 AM
hi
thanks
i try like u tell and i check that emp_tab is not empty and i still dont get any data ,
when i push on f4 nothing happen .
what i miss?
this is my new code:
TYPES: BEGIN OF 1_tab,
pernr TYPE pernr_d,
nachn TYPE pad_nachn,
vorna TYPE pad_vorna,
END OF 1_tab.
DATA: emp_tab TYPE TABLE OF 1_tab WITH HEADER LINE.
PARAMETERS P_TABLE LIKE emp_tab." occurs 0 with header line.
SELECT *
FROM pa0002
INTO CORRESPONDING FIELDS OF TABLE emp_tab
WHERE begda LE sy-datum
AND endda GE sy-datum.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
RETFIELD = 'EMP_TAB'
PVALKEY = ' '
DYNPPROG = 'ZTEST10'
DYNPNR = '1000'
DYNPROFIELD = 'P_TABLE'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'C'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
TABLES
VALUE_TAB = emp_tab
FIELD_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.
‎2008 Feb 18 12:12 PM
tHIS IS THE CORRECTED CODE...
TYPES: BEGIN OF 1_tab,
pernr TYPE pernr_d,
nachn TYPE pad_nachn,
vorna TYPE pad_vorna,
END OF 1_tab.
DATA: emp_tab TYPE TABLE OF 1_tab WITH HEADER LINE.
PARAMETERS p_table LIKE emp_tab." occurs 0 with header line.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_table.
SELECT *
FROM pa0002
INTO CORRESPONDING FIELDS OF TABLE emp_tab
WHERE begda LE sy-datum
AND endda GE sy-datum.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = 'PERNR'
PVALKEY = ' '
dynpprog = 'ZDAYATEST1'
dynpnr = '1000'
dynprofield = 'P_TABLE'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
value_org = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
value_tab = emp_tab
FIELD_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.
‎2008 Feb 18 11:15 AM
Hi,
Use the function module F4IF_INT_TABLE_VALUE_REQUEST in the AT SELECTION-SCREEN ON VALUE-REQUEST event
regards,
theja
‎2008 Feb 18 11:15 AM
Hi,
Im not getting ur exact req.........but this code might help...
PARAMETERS : p_state TYPE char20,
p_city TYPE char18.
DATA : BEGIN OF t_state OCCURS 0,
state TYPE char20,
END OF t_state,
BEGIN OF t_city OCCURS 0,
city TYPE char18,
END OF t_city.
DATA : r_state TYPE TABLE OF ddshretval WITH HEADER LINE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_state.
REFRESH t_state.
APPEND 'Tamil nadu' TO t_state.
APPEND 'Kerala' TO t_state.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'STATE'
dynpprog = sy-repid
dynpnr = '1000'
dynprofield = 'P_STATE'
window_title = 'State'
value_org = 'S'
TABLES
value_tab = t_state[]
RETURN_TAB = r_state[]
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_city.
REFRESH t_city.
LOOP AT r_state.
CASE r_state-fieldval.
WHEN 'TAMIL NADU'.
APPEND 'Chennai' TO t_city.
APPEND 'Madurai' TO t_city.
WHEN 'KERALA'.
APPEND 'Trivandrum' TO t_city.
APPEND 'Kochi' TO t_city.
ENDCASE.
ENDLOOP.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'CITY'
dynpprog = sy-repid
dynpnr = '1000'
dynprofield = 'P_CITY'
window_title = 'City'
value_org = 'S'
TABLES
value_tab = t_city[]
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.Cheers,
jose.
‎2008 Feb 18 11:16 AM
Hi,
See the standard program DEMO_DYNPRO_F4_HELP_MODULE in SE38
see this sample code you can understand very easily
TYPES : BEGIN OF ST_OBJID_SH,
OTYPE TYPE HRP1000-OTYPE,
OBJID TYPE HRP1000-OBJID,
END OF ST_OBJID_SH.
DATA : IT_OBJID_SH TYPE STANDARD TABLE OF ST_OBJID_SH.
DATA : WA_OBJID_SH TYPE ST_OBJID_SH.
************SELECTION SCREEN DESIGN************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
*SELECT-OPTIONS : S_OTYPE FOR HRP1001-OTYPE NO INTERVALS .
SELECT-OPTIONS : S_OBJID FOR HRP1001-OBJID NO INTERVALS .
SELECT-OPTIONS : DATE FOR SY-DATUM NO-EXTENSION OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
***********END OF SELECTION SCREEN DESIGN******************
**********VALIDATION FOR SCREEN FIELDS*********************
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.
Just check this link.
http://help.sap.com/saphelp_nw04/helpdata/en/9f/dbaac935c111d1829f0000e829fbfe/content.htm.
This will surely help u understand the function module F4IF_INT_TABLE_VALUE_REQUEST.
Regards,
Chandru
‎2008 Feb 18 11:16 AM
while defining structure
use the table filed as reference.
See this
TYPES: BEGIN OF 1_tab,
pernr TYPE pernr_d,
nachn TYPE pad_nachn,
vorna TYPE emp_tab-vorna,
END OF 1_tab.