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

reg the selection screen value request

Former Member
0 Likes
525

i am writing this code for getting corresponding material no for the plant which i giving in the selection-screen .

parameter : WERKS type marc-werks,

matnr type marc-matnr.

data : begin of itab occurs 0,

matnr like marc-matnr,

werks like marc-werks,

end of itab.

at selection-screen on value-request for werks.

select matnr werks from marc up to 10 rows into table itab.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

RETFIELD = 'WERKS'

  • PVALKEY = ' '

DYNPPROG = sy-cprog

DYNPNR = sy-dynnr

DYNPROFIELD = 'WERKS'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

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.

pls help

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
503

Hi Check this ...

Its working.....

PARAMETER : werks TYPE marc-werks,

matnr TYPE marc-matnr.

*

DATA : BEGIN OF itab OCCURS 0,

matnr LIKE marc-matnr,

werks LIKE marc-werks,

END OF itab.

DATA: dynfields TYPE TABLE OF dynpread WITH HEADER LINE.

DATA: return TYPE TABLE OF ddshretval WITH HEADER LINE.

*

AT SELECTION-SCREEN ON VALUE-REQUEST FOR werks.

*

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

EXPORTING

tabname = 'T001W'

fieldname = 'WERKS'

dynpprog = sy-cprog

dynpnr = sy-dynnr

dynprofield = 'WERKS'

TABLES

return_tab = return

EXCEPTIONS

field_not_found = 1

no_help_for_field = 2

inconsistent_help = 3

no_values_found = 4

OTHERS = 5.

REFRESH dynfields.

READ TABLE return WITH KEY fieldname = 'WERKS'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR matnr.

SELECT matnr werks FROM marc

INTO TABLE itab

WHERE werks EQ return-fieldval.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'MATNR'

  • PVALKEY = ' '

dynpprog = sy-cprog

dynpnr = sy-dynnr

dynprofield = 'MATNR'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

value_org = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

value_tab = itab

  • FIELD_TAB =

  • RETURN_TAB =

  • DYNPFLD_MAPPING =

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3 .

IF sy-subrc NE 0.

ENDIF.

Regards,

Sai Ramesh

4 REPLIES 4
Read only

Former Member
0 Likes
503

pls help on this issue

Read only

0 Likes
503

What is the issue that u face...?

Read only

Former Member
0 Likes
503

Hi Jamshad,

Change your select query from

select matnr werks from marc up to 10 rows into table itab.

to

select matnr

werks

from marc

into table itab

where werks = werks.

Regards,

Mohaiyuddin

Read only

Former Member
0 Likes
504

Hi Check this ...

Its working.....

PARAMETER : werks TYPE marc-werks,

matnr TYPE marc-matnr.

*

DATA : BEGIN OF itab OCCURS 0,

matnr LIKE marc-matnr,

werks LIKE marc-werks,

END OF itab.

DATA: dynfields TYPE TABLE OF dynpread WITH HEADER LINE.

DATA: return TYPE TABLE OF ddshretval WITH HEADER LINE.

*

AT SELECTION-SCREEN ON VALUE-REQUEST FOR werks.

*

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

EXPORTING

tabname = 'T001W'

fieldname = 'WERKS'

dynpprog = sy-cprog

dynpnr = sy-dynnr

dynprofield = 'WERKS'

TABLES

return_tab = return

EXCEPTIONS

field_not_found = 1

no_help_for_field = 2

inconsistent_help = 3

no_values_found = 4

OTHERS = 5.

REFRESH dynfields.

READ TABLE return WITH KEY fieldname = 'WERKS'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR matnr.

SELECT matnr werks FROM marc

INTO TABLE itab

WHERE werks EQ return-fieldval.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

retfield = 'MATNR'

  • PVALKEY = ' '

dynpprog = sy-cprog

dynpnr = sy-dynnr

dynprofield = 'MATNR'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

value_org = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

value_tab = itab

  • FIELD_TAB =

  • RETURN_TAB =

  • DYNPFLD_MAPPING =

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3 .

IF sy-subrc NE 0.

ENDIF.

Regards,

Sai Ramesh