‎2010 Aug 06 2:17 PM
Hi,
Please can you provide some solution for the below requirements.
I have 2 fields ( Organization channel and Team ) in my selection screen. Under one organization channel there can be many teams.
And I am trying a dynamic search help on both the fields using event AT selection-screen on Value request and
FM 'F4IF_INT_TABLE_VALUE_REQUEST'.
But I am facing the below issue .
First I am giving some values in field 'Organization channel' . Then I am clicking on F4 button on my 2nd field 'Team' .
and in debugging mode under the event 'At selection-screen on value request', Select option SO_Team is blank.
The value provided in the Organiozation channel is not being captured in SO_TEAM-Low
Please have a look on the below codes.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_team-low .
if not so_orgchannel-low is initial. "Here so_orgchannel-low value is coming as Zeros.
select * from HRP1001 into table GT_HRP1001
where objid = so_orgchannel-low.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ORGID'
value_org = 'S'
dynpprog = 'ZTEST'
dynpnr = '1000'
TABLES
value_tab = gt_hrp1001
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
‎2010 Aug 06 2:27 PM
Hi,
try this way...
AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_team-low .
if not so_orgchannel-low is initial. "Here so_orgchannel-low value is coming as Zeros.
"Add This Begin
CLEAR t_dynpfields.
REFRESH t_dynpfields.
t_dynpfields-fieldname = 'SO_ORGCHANNEL-LOW'.
APPEND t_dynpfields.
w_repid = sy-repid.
* reading Screen variables and Values
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = w_repid
dynumb = sy-dynnr
TABLES
dynpfields = t_dynpfields
EXCEPTIONS
OTHERS.
READ TABLE t_dynpfields INDEX 1.
so_orgchannel-low = t_dynpfields-fieldvalue.
"Add this End
select * from HRP1001 into table GT_HRP1001
where objid = so_orgchannel-low.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ORGID'
value_org = 'S'
dynpprog = 'ZTEST'
dynpnr = '1000'
TABLES
value_tab = gt_hrp1001
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
regards,
Prabhudas
‎2010 Aug 06 2:29 PM
Hi,
AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_team-low .
"Add This Begin
CLEAR t_dynpfields.
REFRESH t_dynpfields.
t_dynpfields-fieldname = 'SO_ORGCHANNEL-LOW'.
APPEND t_dynpfields.
w_repid = sy-repid.
* reading Screen variables and Values
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = w_repid
dynumb = sy-dynnr
TABLES
dynpfields = t_dynpfields
EXCEPTIONS
OTHERS.
READ TABLE t_dynpfields INDEX 1.
so_orgchannel-low = t_dynpfields-fieldvalue.
"Add this End
if not so_orgchannel-low is initial. "Your code is here
select * from HRP1001 into table GT_HRP1001
where objid = so_orgchannel-low.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ORGID'
value_org = 'S'
dynpprog = 'ZTEST'
dynpnr = '1000'
TABLES
value_tab = gt_hrp1001
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
Regards,
Prabhudas
‎2010 Aug 06 2:30 PM
Hello,
i tried with the following code for your requirement.
tables hrp1001.
select-options:so_org for hrp1001-objid,
so_team for hrp1001-objid.
data:GT_HRP1001 type table of hrp1001 with header line.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_team-low.
if not so_org-low is initial.
select * from HRP1001 into table GT_HRP1001 where objid = so_org-low.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ORGID'
value_org = 'S'
dynpprog = 'Z16320_SDN'
dynpnr = '1000'
TABLES
value_tab = gt_hrp1001
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
endif.
Please let me know if anything goes wrong.It worked as per your requiremnt.
Thanks.
Ramya.
‎2010 Aug 06 2:37 PM
Hi,
Inside Value Request Section, you will not get the value you have entered in other parameters.
For that you need to read them from Screen.
Use Function Module 'DYNP_VALUES_READ' to Read Screen Parameter value and use the same value as filter criteria for your next select statement.
‎2010 Aug 10 12:48 PM
Hi,
I need the values in Select option (Low, High as well as the multiple values also). But above mentioned FM take only one Screen Field. Can you pls suggest some other option, pls.
Regards,
Pankaj.
‎2010 Aug 10 12:54 PM
After selecting the 1st select option u need to press 'ENTER'
only after pressing enter the select option will populate and den u can use it in the select statement
So just try pressing ENTER
‎2010 Sep 03 8:28 AM