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: 

Error in 'DYNP_VALUES_READ'

Former Member
0 Kudos

Hi all,

I have a requirement wherin I need to read the field KALA-KADAT (Costing date from) from CK40N transaction into and Z- function module which is called internally for costing purpose.

To read the value I am using the FM 'DYNP_VALUES_READ'

The code is as below.

DATA: gt_dyfields TYPE STANDARD TABLE OF dynpread,

gw_dyfields TYPE dynpread.

gw_dyfields-fieldname = 'KALA-KADAT'.

APPEND gw_dyfields TO gt_dyfields.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

dyname = 'SAPLCKCC02'

dynumb = '3120'

TABLES

dynpfields = gt_dyfields

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.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

IF gt_dyfields IS NOT INITIAL.

READ TABLE gt_dyfields INTO gw_dyfields INDEX 1.

lv_date = gw_dyfields-fieldvalue.

ENDIF.

Inspite of the prog name and screen number being correct I am getting sy-subrc = 3 i.e invalid_dynproname.

Can anybody please help me out with this.

The CK40N has several screens and subscreens. Is there any other parameters we need to pass in the FM??

Or is there any other way to read this field.

Points shall be rewarded for appropriate solutions.

Thanks in advance,

-Aarti.

2 REPLIES 2

Former Member
0 Kudos

Hi,

DATA : LV_DYNAME LIKE D020S-PROG,

LV_ DYNUMB LIKE D020S-DNUM.

LV_DYNAME = SY-CPROG.

LV_ DYNUMB = SY-DYNNR.

DATA: gt_dyfields TYPE STANDARD TABLE OF dynpread,

gw_dyfields TYPE dynpread.

gw_dyfields-fieldname = 'KALA-KADAT'.

APPEND gw_dyfields TO gt_dyfields.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

dyname = LV_DYNAME

dynumb = LV_ DYNUMB

TABLES

dynpfields = gt_dyfields

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.

IF sy-subrc 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

IF gt_dyfields IS NOT INITIAL.

READ TABLE gt_dyfields INTO gw_dyfields INDEX 1.

lv_date = gw_dyfields-fieldvalue.

ENDIF.

Thanks,

Durai.V

0 Kudos

Hi Durai,

I had tried with this also. It still had the same error.

Also, while debugging

SY-CPROG = SAPRCK10.

and SY-DYNNR = 1000

Which is different from the Program and screen number of the required field.

The technical help of KALA-KADAT in CK40N has

Prog = 'SAPLCKCC02'

and screen = '3120'