Skip to Content
0
Former Member
Aug 08, 2016 at 10:04 AM

Generically typed data reference variable giving dump

130 Views

Hi

Could you please help me to understand the following behavior of data reference variable:

Case 1:

DATA: ls_flight TYPE sflight,

lr_flight TYPE REF TO data.

FIELD-SYMBOLS: <lfs_flight> TYPE sflight.

ls_flight-carrid = 'AA'.

ls_flight-connid = '2157'.

GET REFERENCE OF ls_flight INTO lr_flight.

ASSIGN lr_flight->* TO <lfs_flight>.

Case 2:

TYPES: BEGIN OF ty_vbap,

vbeln TYPE vbap-vbeln,

posnr TYPE vbap-posnr,

END OF ty_vbap.

DATA: it_vbap TYPE STANDARD TABLE OF ty_vbap,

dref TYPE REF TO data.

FIELD-SYMBOLS: <fs_vbap> TYPE ty_vbap

SELECT vbeln posnr FROM VBAP INTO TABLE it_vbap UP TO 10 ROWS.


GET REFERENCE OF it_vbap INTO dref

ASSIGN dref->* TO <fs_vbap>.

Here CASE 1 is executing as expected while CASE 2 is giving dump for ASSIGN dref->* TO <fs_vbap>. I do not really understand why CASE2 is giving dump( exception : ASSIGN_TYPE_CONFLICT, You attempted to assign a field to a typed field symbol, but the field does not have the required type).

Is user defined types played a role here? or Am I missing something obvious ?