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: 

The data type of the component "ZMENG" of "GT_VBAP" is not compatible with the data type of "MATKL"

atslokesh
Explorer
0 Kudos
2,646
TYPES : BEGIN OF ty_VBAK,
vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
vkorg TYPE vbak-vkorg,
vkbur TYPE vbak-vkbur,
kunnr TYPE vbak-kunnr,
adrnr TYPE kna1-adrnr,
END OF ty_VBAK,

BEGIN OF ty_vbap,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
zmeng TYPE vbap-zmeng,
netpr TYPE vbap-netpr,
matkl TYPE vbap-matkl,
werks TYPE vbap-werks,
lgort TYPE vbap-lgort,
END OF ty_VBAP.
DATA : gt_vbak TYPE TABLE OF ty_vbak,
gs_vbak TYPE ty_vbak.
DATA : gt_vbap TYPE TABLE OF ty_vbap,
gs_vbap TYPE ty_vbap.
DATA : it_fcat TYPE slis_t_fieldcat_alv,
wa_fcat TYPE slis_fieldcat_alv,
wa_layo TYPE slis_layout_alv,
is_key TYPE slis_keyinfo_alv.
START-OF-SELECTION.
SELECT vbeln,
erdat,
vkorg,
vkbur,
kunnr
FROM Vbak
WHERE vbeln IN @so_nbr
INTO TABLE @gt_vbak.

IF sy-subrc <> 0.
CLEAR gt_vbak.
ENDIF.
IF gt_vbak IS NOT INITIAL.
SELECT vbeln,
posnr,
matnr,
matkl,
zmeng,
werks,
lgort,
netpr
FROM vbap
INTO TABLE @gt_vbap
FOR ALL ENTRIES IN @gt_vbak
WHERE vbeln = @gt_vbak-vbeln.
ENDIF.
1 ACCEPTED SOLUTION

Jeansy
Active Contributor
1,771

Hi,

please compare the order of the structure ty_vbap with the SELECT-statement.

In the SELECT-statement the 4th element is MATKL, but in the structure definition this is the field ZMENG. This does not fit together regarding the data type, that's why you receive this error message.

One possible and easy solution would be to use INTO CORRESPONDING FIELDS OF TABLE, see here:

    SELECT vbeln,
posnr,
matnr,
matkl,
zmeng,
werks,
lgort,
netpr
FROM vbap
INTO CORRESPONDING FIELDS OF TABLE @gt_vbap
FOR ALL ENTRIES IN @gt_vbak
WHERE vbeln = @gt_vbak-vbeln.

Kind regards
Jens

1 REPLY 1

Jeansy
Active Contributor
1,772

Hi,

please compare the order of the structure ty_vbap with the SELECT-statement.

In the SELECT-statement the 4th element is MATKL, but in the structure definition this is the field ZMENG. This does not fit together regarding the data type, that's why you receive this error message.

One possible and easy solution would be to use INTO CORRESPONDING FIELDS OF TABLE, see here:

    SELECT vbeln,
posnr,
matnr,
matkl,
zmeng,
werks,
lgort,
netpr
FROM vbap
INTO CORRESPONDING FIELDS OF TABLE @gt_vbap
FOR ALL ENTRIES IN @gt_vbak
WHERE vbeln = @gt_vbak-vbeln.

Kind regards
Jens