‎2009 Dec 21 7:04 AM
SELECT A~BUKRS
A~FKART
A~FKDAT
A~VBELN
B~POSNR
B~MATNR
B~MEINS
B~FKIMG
INTO TABLE IT_DATA
FROM VBRK AS A INNER JOIN VBRP AS B ON BVBELN = AVBELN
WHERE A~BUKRS = P_BUKRS AND
A~FKART IN S_FKART AND
A~FKDAT IN S_FKDAT AND
B~MATNR IN S_MATNR.
i am getting dump in this select statement
‎2009 Dec 21 7:15 AM
Hi ,
I guess it is the issue with the Structure of the "IT_DATA".
The code is working fine with the structure of "IT_DATA".
Please check the code -
data : begin of wa,
bukrs type vbrk-bukrs,
FKART type vbrk-FKART,
FKDAT type vbrk-FKDAT,
VBELN type vbrk-VBELN,
POSNR type vbrp-POSNR,
MATNR type vbrp-MATNR,
MEINS type vbrp-MEINS,
FKIMG type vbrp-FKIMG,
end of wa,
it_data like table of wa.
SELECT A~BUKRS
A~FKART
A~FKDAT
A~VBELN
B~POSNR
B~MATNR
B~MEINS
B~FKIMG
INTO TABLE IT_DATA
FROM VBRK AS A INNER JOIN VBRP AS B ON B~VBELN = A~VBELN.
WHERE A~BUKRS = P_BUKRS AND
A~FKART IN S_FKART AND
A~FKDAT IN S_FKDAT AND
B~MATNR IN S_MATNR.
‎2009 Dec 21 7:06 AM
‎2009 Dec 21 7:07 AM
‎2009 Dec 21 7:09 AM
Hi,
Check your ON clause in inner join.
Left table : A
Right Table: B
so the condition should be like this:
AVBELN = BVBELN
I hope it helps u.
‎2009 Dec 21 7:14 AM
hi deepti,
there are different cases .. can you give whta kind of dump your gtetting "dump discription".
~linganna
‎2009 Dec 21 7:15 AM
Hi ,
I guess it is the issue with the Structure of the "IT_DATA".
The code is working fine with the structure of "IT_DATA".
Please check the code -
data : begin of wa,
bukrs type vbrk-bukrs,
FKART type vbrk-FKART,
FKDAT type vbrk-FKDAT,
VBELN type vbrk-VBELN,
POSNR type vbrp-POSNR,
MATNR type vbrp-MATNR,
MEINS type vbrp-MEINS,
FKIMG type vbrp-FKIMG,
end of wa,
it_data like table of wa.
SELECT A~BUKRS
A~FKART
A~FKDAT
A~VBELN
B~POSNR
B~MATNR
B~MEINS
B~FKIMG
INTO TABLE IT_DATA
FROM VBRK AS A INNER JOIN VBRP AS B ON B~VBELN = A~VBELN.
WHERE A~BUKRS = P_BUKRS AND
A~FKART IN S_FKART AND
A~FKDAT IN S_FKDAT AND
B~MATNR IN S_MATNR.
‎2009 Dec 21 7:36 AM
TYPES : BEGIN OF TY_DATA,
BUKRS TYPE VBRK-BUKRS,
FKART TYPE VBRK-FKART,
FKDAT TYPE VBRK-FKDAT,
VBELN TYPE VBRK-VBELN, " IN BOTH VBRK AND VBRP
POSNR TYPE VBRP-POSNR,
MATNR TYPE VBRP-MATNR,
MAKTX TYPE MAKT-MAKTX,
MEINS TYPE VBRP-MEINS,
FKIMG TYPE VBRP-FKIMG,
END OF TY_DATA.
DATA : WA_DATA TYPE TY_DATA,
IT_DATA TYPE STANDARD TABLE OF TY_DATA.
SELECT A~BUKRS
A~FKART
A~FKDAT
A~VBELN
B~POSNR
B~MATNR
B~MEINS
B~FKIMG
INTO TABLE IT_DATA
FROM VBRK AS A INNER JOIN VBRP AS B ON BVBELN = AVBELN
WHERE A~BUKRS = P_BUKRS AND
A~FKART IN S_FKART AND
A~FKDAT IN S_FKDAT AND
B~MATNR IN S_MATNR.
‎2009 Dec 21 7:43 AM
use corresponding fields of table IT_DATA.
since the table structure is not similar to the fields selected in the SELECT Query .
Regards,
Abhijit
‎2009 Dec 21 7:58 AM
Hello
TYPES : BEGIN OF TY_DATA,
BUKRS TYPE VBRK-BUKRS,
FKART TYPE VBRK-FKART,
FKDAT TYPE VBRK-FKDAT,
VBELN TYPE VBRK-VBELN, " IN BOTH VBRK AND VBRP
POSNR TYPE VBRP-POSNR,
MATNR TYPE VBRP-MATNR,
MAKTX TYPE MAKT-MAKTX, <= this field is not present in SELECT !!!!!!
MEINS TYPE VBRP-MEINS,
FKIMG TYPE VBRP-FKIMG,
END OF TY_DATA.
DATA : WA_DATA TYPE TY_DATA,
IT_DATA TYPE STANDARD TABLE OF TY_DATA.
SELECT A~BUKRS
A~FKART
A~FKDAT
A~VBELN
B~POSNR
B~MATNR
B~MEINS
B~FKIMG
INTO TABLE IT_DATA
FROM VBRK AS A INNER JOIN VBRP AS B ON B~VBELN = A~VBELN
WHERE A~BUKRS = P_BUKRS AND
A~FKART IN S_FKART AND
A~FKDAT IN S_FKDAT AND
B~MATNR IN S_MATNR.
Field MAKTX is declared in internal table but not present in SELECT query. So in SELECT occurs attempt to write FKIMG to MAKTX. This brings to dumb because types inconsistency.
Two ways:
1. Remove this
TYPES : BEGIN OF TY_DATA,
BUKRS TYPE VBRK-BUKRS,
FKART TYPE VBRK-FKART,
FKDAT TYPE VBRK-FKDAT,
VBELN TYPE VBRK-VBELN, " IN BOTH VBRK AND VBRP
POSNR TYPE VBRP-POSNR,
MATNR TYPE VBRP-MATNR,
MAKTX TYPE MAKT-MAKTX, <= remove this
MEINS TYPE VBRP-MEINS,
FKIMG TYPE VBRP-FKIMG,
END OF TY_DATA.
2. Add to select query table MAKT for fetch MAKTX.
‎2009 Dec 21 8:18 AM
Error analysis
The data read during a SELECT access could not be inserted into the
target field.
Either conversion is not supported for the target field's type or the
target field is too short to accept the value or the data are not in a
form that the target field can accept
000890 FORM GET_DATA.
000900
000910
000920
000930 SELECT A~BUKRS
000940 A~FKART
000950 A~FKDAT
000960 A~VBELN
000970 B~POSNR
000980 B~MATNR
000990 B~MEINS
001000 B~FKIMG
001010 INTO TABLE IT_DATA
001020 FROM VBRK AS A INNER JOIN VBRP AS B ON BVBELN = AVBELN
001030 WHERE A~BUKRS = P_BUKRS AND
001040 A~FKART IN S_FKART AND
001050 A~FKDAT IN S_FKDAT AND
-
> B~MATNR IN S_MATNR.
001070
001080
001090
001100 DESCRIBE TABLE IT_DATA1 LINES LINES.
001110 IF LINES = 0.
001120 MESSAGE I001 WITH 'No data available for the selection'.
001130 ENDIF.
001140
001150 CLEAR : LINES.
001160
001170
001180
001190 ENDFORM. " GET_DATA
001200
the above is the dump
‎2009 Dec 21 8:25 AM
Hi,
TYPES : BEGIN OF TY_DATA,
BUKRS TYPE VBRK-BUKRS,
FKART TYPE VBRK-FKART,
FKDAT TYPE VBRK-FKDAT,
VBELN TYPE VBRK-VBELN,
POSNR TYPE VBRP-POSNR,
MATNR TYPE VBRP-MATNR,
MAKTX TYPE MAKT-MAKTX, !
MEINS TYPE VBRP-MEINS,
FKIMG TYPE VBRP-FKIMG,
END OF TY_DATA.
DATA : WA_DATA TYPE TY_DATA,
IT_DATA TYPE STANDARD TABLE OF TY_DATA.
SELECT A~BUKRS
A~FKART
A~FKDAT
A~VBELN
B~POSNR
B~MATNR
C~MAKTX " Add this
B~MEINS
B~FKIMG
INTO TABLE IT_DATA
FROM VBRK AS A INNER JOIN VBRP AS B ON B~VBELN = A~VBELN
INNER JOIN MAKTX AS C ON B~MATNR = C~MATNR " Add this
WHERE A~BUKRS = P_BUKRS AND
A~FKART IN S_FKART AND
A~FKDAT IN S_FKDAT AND
B~MATNR IN S_MATNR AND
C~SPRAS EQ 'EN'. " Give the language hereor Use FOR ALL ENTRIES instead of Joins
Regards
Bala Krishna
‎2009 Dec 21 8:10 AM
Either use move corresponding in the select query which is generally not preferable due to performance.
Or Remove the maktx field from the structure.
Or Move the maktx field in the structure at the last position in the structure so it wont affect the query.
Regards,
Lalit Mohan Gupta.
‎2009 Dec 21 8:17 AM
HI,
Use INTO CORRESPONDING FIELDS OF TABLE ITAB instead of INTO TABLE ITAB.
‎2009 Dec 21 8:20 AM
Hi,
Your tab declaration seems to be wrong.
try following code
tables: vbrp, vbrk.
parameters: p_bukrs type bukrs.
select-options: s_fkart for vbrk-fkart,
s_fkdat for vbrk-fkdat,
s_matnr for vbrp-matnr.
types : begin of ty_data,
bukrs type vbrk-bukrs,
fkart type vbrk-fkart,
fkdat type vbrk-fkdat,
vbeln type vbrk-vbeln, " IN BOTH VBRK AND VBRP
posnr type vbrp-posnr,
matnr type vbrp-matnr,
*MAKTX TYPE MAKT-MAKTX, "TAKE OUT THIS FIELD FROM HERE
meins type vbrp-meins,
fkimg type vbrp-fkimg,
end of ty_data.
data : wa_data type ty_data,
it_data type standard table of ty_data.
select a~bukrs
a~fkart
a~fkdat
a~vbeln
b~posnr
b~matnr
b~meins
b~fkimg
into table it_data
from ( vbrk as a inner join vbrp as b on a~vbeln = b~vbeln )
where a~bukrs = p_bukrs and
a~fkart in s_fkart and
a~fkdat in s_fkdat and
b~matnr in s_matnr.
Cheers,
Raj