Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

SELECTION SCREEN

Former Member
0 Likes
607

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

6 REPLIES 6
Read only

Former Member
0 Likes
574

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

Read only

Former Member
0 Likes
574

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

Read only

Former Member
0 Likes
574

use dynamic serach help .

F4IF_INT_TABLE_VALUE_REQUEST

Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
574

Payroll areas do not seem to be company code specific in my system. 46c

See table T549A

Regards,

Rich Heilman

Read only

Former Member
0 Likes
574

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

Read only

Former Member
0 Likes
574

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.