2008 Apr 03 4:45 AM
i have few date details in my internal table.Now want to display this data as a search help using a FM.
How to do so please guide.
Can we use this "
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE' "
How to use this FM .Please guide
2008 Apr 03 4:53 AM
Hi,
AT SELECTION-SCREEN ON VALUE-REQUEST FOR
s_plant1-low .--This is selection screen element
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'WERKS'
dynpprog = ws_repid
dynpnr = sy-dynnr
value_org = 'S'
TABLES
value_tab = i_t001w --This is your internal table
return_tab = v_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.
ENDIF.
s_plant1-low = v_return-fieldval. --Here selected value passing to parameter
Pls. reward if useful...
2008 Apr 03 4:53 AM
Hi,
AT SELECTION-SCREEN ON VALUE-REQUEST FOR
s_plant1-low .--This is selection screen element
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'WERKS'
dynpprog = ws_repid
dynpnr = sy-dynnr
value_org = 'S'
TABLES
value_tab = i_t001w --This is your internal table
return_tab = v_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.
ENDIF.
s_plant1-low = v_return-fieldval. --Here selected value passing to parameter
Pls. reward if useful...
2008 Apr 03 4:53 AM
HELP_VALUES_GET_WITH_TABLE
Show a list of possible values for F4 popup help on selection screens. This function module pops up a screen that is just like all the other F4 helps, so it looks like the rest of the SAP system. Very useful for providing dropdowns on fields that do not have them predefined.
Example:
tables: t001w.
DATA: lc_werks LIKE t001w-werks,
ltab_fields LIKE help_value OCCURS 0 with header line,
BEGIN OF ltab_values OCCURS 0,
feld(40) TYPE c,
END OF ltab_values.
*-- Set up fields to retrieve data
ltab_fields-tabname = 'T001W'.
ltab_fields-fieldname = 'WERKS'.
ltab_fields-selectflag = 'X'.
APPEND ltab_fields.
ltab_fields-tabname = 'T001W'.
ltab_fields-fieldname = 'NAME1'.
ltab_fields-selectflag = space.
APPEND ltab_fields.
*-- Fill values
select * from t001w.
ltab_values-feld = t001w-werks.
append ltab_values.
ltab_values-feld = t001w-name1.
append ltab_values.
endselect.
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
fieldname = 'WERKS'
tabname = 'T001W'
title_in_values_list = 'Select a value'
IMPORTING
select_value = lc_werks
TABLES
fields = ltab_fields
valuetab = ltab_values
EXCEPTIONS
field_not_in_ddic = 01
more_then_one_selectfield = 02
no_selectfield = 03.
2008 Apr 03 4:56 AM
Use this functionality to get help.
FORM HELP_CHECK.
*-- Set up fields to retrieve data
ltab_fields-tabname = 'ZFI_PMNTADV'.
ltab_fields-fieldname = 'CHECT'.
ltab_fields-selectflag = 'X'.
APPEND ltab_fields.
ltab_fields-tabname = 'ZFI_PMNTADV'.
ltab_fields-fieldname = 'PMNT_ADV'.
ltab_fields-selectflag = 'X'.
APPEND ltab_fields.
SORT ltab_fields.
DELETE ADJACENT DUPLICATES FROM ltab_fields.
*-- Fill values
SELECT chect
INTO TABLE ltab_values
FROM zfi_pmntadv
WHERE pmnt_adv NE space.
SORT ltab_values.
DELETE ADJACENT DUPLICATES FROM ltab_values.
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
fieldname = 'chect'
tabname = 'zfi_pmntadv'
title_in_values_list = 'Select a value'
IMPORTING
select_value = so_chect
TABLES
fields = ltab_fields
valuetab = ltab_values
EXCEPTIONS
field_not_in_ddic = 01
more_then_one_selectfield = 02
no_selectfield = 03.
ENDFORM. "fiscal_year
2008 Apr 03 5:25 AM
Hi
see this logic you can understand very easily
TABLES: HRP1001, HRP1026.
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.
.
'F4IF_INT_TABLE_VALUE_REQUEST' by useing this FM you can display the internal table data as search help
you need to pass that table name
TABLES
VALUE_TAB = IT_OBJID_SH
like this
2008 Apr 03 5:28 AM
use FM
F4IF_INT_TABLE_VALUE_REQUEST
Just pass ur internal table to it..
2008 Apr 03 6:53 AM
DATA: BEGIN OF it_h OCCURS 0.
INCLUDE STRUCTURE p0028.
DAta : END OF it_h.
DATA: BEGIN OF field_tab OCCURS 10.
INCLUDE STRUCTURE help_value.
DATA: END OF field_tab.
DATA: helpfield(30).
DATA : so_DATE LIKE PA0028-EXDAT.
*PA0000-pernr = PA0000-pernr.
IF FLAG = 'HG'.
SELECT exdat into it_h-exdat
FROM pa0028
WHERE pernr eq PA0000-pernr
and sprps = ''.
append it_h.
endselect.
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
fieldname = 'EXDAT'
tabname = 'PA0028'
title_in_values_list = 'Select a value'
IMPORTING
select_value = so_DATE
select_value = PA0028-EXDAT
TABLES
fields = field_tab
valuetab = it_h
EXCEPTIONS
field_not_in_ddic = 01
more_then_one_selectfield = 02
no_selectfield = 03.
ENDIF.
Now in my module pool screen where i'll define this it_h.
I have values in it_h.Now at screen level where this shuld be dinfine.
My screen field name is PA0028-EXDAT.
2008 Apr 03 6:56 AM
Hi,
Take help from the below code:
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_usnam-low.
**//To provide F4 help to S_USNAM-LOW
PERFORM f_f4help_usnam USING 'S_USNAM-LOW'.
*
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_usnam-high.
**//To provide F4 help to S_USNAM-HIGH
PERFORM f_f4help_usnam USING 'S_USNAM-HIGH'.
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_wbs-low.
**//To provide F4 help to S_WBS-LOW
PERFORM f_f4help_wbs USING 'S_WBS-LOW'.
*
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_wbs-high.
**//To provide F4 help to S_WBS-HIGH
PERFORM f_f4help_wbs USING 'S_WBS-HIGH'.
&----
*& Form f_f4help_usnam
*&----
To provide F4 help to username
*----
-->P_0019 text
*----
*FORM f_f4help_usnam USING value(p_0019) TYPE any.
**// To retrieve username from mkpf.
SELECT bname
FROM usr01
INTO TABLE it_usnam.
*
SORT: it_usnam BY usnam.
DELETE ADJACENT DUPLICATES FROM it_usnam COMPARING usnam.
*
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = c_retusnam
PVALKEY = ' '
dynpprog = c_dynpprog
dynpnr = c_dynpnr
dynprofield = p_0019
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
value_org = c_s
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
value_tab = it_usnam
field_tab = it_usnam.
return_tab = l_it_ret
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
*.
*
*ENDFORM. " f_f4help_usnam
&----
*& Form f_f4help_wbs
&----
To create F4 help for wbs element
----
-->P_0039 text
----
*FORM f_f4help_wbs USING value(p_0039) TYPE any.
**// To retrive wbs element from mseg
SELECT pspel
FROM pspl
INTO TABLE it_wbs.
*
SORT:it_wbs BY wbs.
DELETE ADJACENT DUPLICATES FROM it_wbs COMPARING wbs.
*
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = c_retwbs
PVALKEY = ' '
dynpprog = c_dynpprog
dynpnr = c_dynpnr
dynprofield = p_0039
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
value_org = c_s
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
value_tab = it_wbs
FIELD_TAB =
return_tab = l_it_ret1
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
*.
*
*ENDFORM. " f_f4help_wbs
regards,
sudha