‎2007 Apr 16 1:35 PM
i have two fields in a selection screen
one is company code and payroll area if i select a company code and press f4 on payroll i have to get that company code payolls.
thanks in advance
‎2007 Apr 16 1:39 PM
Hi,
See the sample code and change the code as per your requirement.
Select-options: s_bukrs for t001-bukrs,
s_pfolio for ztab-pfolio.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_pfolio-low.
PERFORM f4_for_portfolios.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_pfolio-high.
PERFORM f4_for_portfolios.
FORM f4_for_portfolios.
l_dynpro = sy-repid.
l_dynnar = sy-dynnr.
for parameters/one single value(low/high) of select-option this is OK,
If i give 'S_BUKRS' it is giving dump.
it_dynpfields-fieldname = 'S_BUKRS-LOW'.
APPEND it_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = l_dynpro
dynumb = l_dynnar " '1000'
translate_to_upper = 'X'
TABLES
dynpfields = it_dynpfields.
READ TABLE it_dynpfields INDEX 1.
REFRESH r_bukrs.
IF NOT it_dynpfields-fieldvalue IS INITIAL.
r_bukrs-low = it_dynpfields-fieldvalue.
r_bukrs-sign = 'I'.
r_bukrs-option = 'EQ'.
APPEND r_bukrs.
ENDIF.
SELECT abukrs aportfolio b~xportb
INTO TABLE it_plo
FROM ( zlt_mandate AS a
INNER JOIN twpob AS b
ON abukrs = bbukrs
AND aportfolio = brportb )
WHERE a~bukrs IN r_bukrs . "= it_dynpfields-fieldvalue.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'PORTFOLIO'
dynpprog = l_dynpro
dynpnr = l_dynnar
dynprofield = 'S_PFOLIO-LOW'
value_org = 'S'"C
display = 'F'
TABLES
value_tab = it_plo.
ENDFORM. "get_portfolios
reward if useful
regards,
Anji
Message was edited by:
Anji Reddy Vangala
‎2007 Apr 16 1:40 PM
Hi,
Look at the demo program <b>DEMO_SELECTION_SCREEN_F4</b>
http://www.sap-img.com/abap/value-request-for-parameter.htm
Regards
Sudheer
‎2007 Apr 16 1:41 PM
‎2007 Apr 16 1:41 PM
‎2007 Apr 16 1:42 PM
hi sai
what u need to do is you need to create a process on value request for company code payroll and write aselection query in it to select the corresponding payrolls for that code . put them in an internal table and pass the internal table to the folllowing fm 'F4IF_INT_TABLE_VALUE_REQUEST'
sample code
report zrich_0002 .
parameters: p_vbeln type vbak-vbeln,
p_posnr type vbap-posnr.
at selection-screen on value-request for p_posnr.
data: begin of help_item occurs 0,
posnr type vbap-posnr,
matnr type vbap-matnr,
arktx type vbap-arktx,
end of help_item.
data: dynfields type table of dynpread with header line.
dynfields-fieldname = 'P_VBELN'.
append dynfields.
call function 'DYNP_VALUES_READ'
exporting
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
tables
dynpfields = dynfields
exceptions
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
others = 11.
read table dynfields with key fieldname = 'P_VBELN'.
p_vbeln = dynfields-fieldvalue.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = p_vbeln
importing
output = p_vbeln.
select posnr matnr arktx into table help_item
from vbap
where vbeln = p_vbeln.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'POSNR'
dynprofield = 'P_POSNR'
dynpprog = sy-cprog
dynpnr = sy-dynnr
value_org = 'S'
tables
value_tab = help_item.
Regds
navjot
reward if helpfull
‎2007 Apr 16 1:43 PM
Hi sai,
1. There is no customizing table where
each payroll area is mapped to one company code.
2. Instead it comes from feature while entering in infotype 0001,
and more over it can be over written manually.
regards,
amit m.