Application Development 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: 

prob in 'DYNP_VALUES_READ'

Former Member
0 Kudos

Hi,

Plz let me know whats wrong in this:


data : l_dyname type standard table of DYNPREAD with header line.

CALL FUNCTION 'DYNP_VALUES_READ'
     EXPORTING
       dyname                         = sy-cprog
       dynumb                         = sy-dynnr
*      TRANSLATE_TO_UPPER             = ' '
*      REQUEST                        = ' '
*      PERFORM_CONVERSION_EXITS       = ' '
*      PERFORM_INPUT_CONVERSION       = ' '
*      DETERMINE_LOOP_INDEX           = ' '
     tables
       dynpfields                     = l_dyname
             .
   IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
   ENDIF.

I am not getting values populated into l_dyname.

Let me know the faulf. Am I missing something...

<REMOVED BY MODERATOR>

Regards,

Vinod.

Edited by: Alvaro Tejada Galindo on Feb 5, 2008 4:57 PM

5 REPLIES 5

Former Member
0 Kudos

Hi

Hope it will help you.

<REMOVED BY MODERATOR>


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 a~bukrs a~portfolio b~xportb
INTO TABLE it_plo
FROM ( zlt_mandate AS a
INNER JOIN twpob AS b
ON a~bukrs = b~bukrs
AND a~portfolio = b~rportb )
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

Edited by: Alvaro Tejada Galindo on Feb 5, 2008 4:58 PM

Former Member
0 Kudos

hi

good

check this code.

Input help in dialog modules

REPORT demo_dynpro_f4_help_module.

TYPES: BEGIN OF values,

carrid TYPE spfli-carrid,

connid TYPE spfli-connid,

END OF values.

DATA: carrier(3) TYPE c,

connection(4) TYPE c.

DATA: progname TYPE sy-repid,

dynnum TYPE sy-dynnr,

dynpro_values TYPE TABLE OF dynpread,

field_value LIKE LINE OF dynpro_values,

values_tab TYPE TABLE OF values.

CALL SCREEN 100.

MODULE init OUTPUT.

progname = sy-repid.

dynnum = sy-dynnr.

CLEAR: field_value, dynpro_values.

field_value-fieldname = 'CARRIER'.

APPEND field_value TO dynpro_values.

ENDMODULE.

MODULE cancel INPUT.

LEAVE PROGRAM.

ENDMODULE.

MODULE value_carrier INPUT.

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

EXPORTING

tabname = 'DEMOF4HELP'

fieldname = 'CARRIER1'

dynpprog = progname

dynpnr = dynnum

dynprofield = 'CARRIER'.

ENDMODULE.

MODULE value_connection INPUT.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

dyname = progname

dynumb = dynnum

translate_to_upper = 'X'

TABLES

dynpfields = dynpro_values.

READ TABLE dynpro_values INDEX 1 INTO field_value.

SELECT carrid connid

FROM spfli

INTO CORRESPONDING FIELDS OF TABLE values_tab

WHERE carrid = field_value-fieldvalue.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'CONNID'

dynpprog = progname

dynpnr = dynnum

dynprofield = 'CONNECTION'

value_org = 'S'

TABLES

value_tab = values_tab.

ENDMODULE.

http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbaac935c111d1829f0000e829fbfe/content.htm

thanks

mrutyun^

Former Member
0 Kudos

Hi,

check in the debugging what the SY-DYNNR is holding?? is it same as the seletion-screen number

Former Member
0 Kudos

Hi Vinod,

Instead of SY-DYNNR try passing the selection screen number. ( like 1000 ).

Former Member
0 Kudos

Hi

Hope it will help you.

reward if work.

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