2008 Jun 16 7:31 AM
DATA: BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
UOM LIKE MARA-MEINS,
LAEDA LIKE MARA-LAEDA,
END OF ITAB.
DATA: WA_ITAB LIKE LINE OF ITAB.
SELECT * FROM MARA INTO TABLE ITAB WHERE MATNR = '521196'.
LOOP AT ITAB INTO WA_ITAB.
WRITE : WA_ITAB-MATKL.
ENDLOOP.
messaging is coming as 'The work area "ITAB" is not long enough.'
2008 Jun 16 7:38 AM
TYPES: BEGIN OF TY_ITAB,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
UOM LIKE MARA-MEINS,
LAEDA LIKE MARA-LAEDA,
END OF TY_ITAB.
DATA: ITAB TYPE TABLE OF TY_ITAB,
WA_ITAB TYPE TY_ITAB.Regards
Kannaiah
TYPES: BEGIN OF TY_ITAB,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
UOM LIKE MARA-MEINS,
LAEDA LIKE MARA-LAEDA,
END OF TY_ITAB.
DATA: ITAB TYPE TABLE OF TY_ITAB,
WA_ITAB TYPE TY_ITAB.Regards
Kannaiah
2008 Jun 16 7:33 AM
Make data declaration as:
TYPES: BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
UOM LIKE MARA-MEINS,
LAEDA LIKE MARA-LAEDA,
END OF ITAB.
DATA: WA_ITAB TYPE ITAB.
2008 Jun 16 7:40 AM
Unable to interpret "OCCURS". Possible causes of error: Incorrect spelling or comma error.
2008 Jun 16 7:34 AM
Declare the internal table
data: itab like mara occurs 0 with header line.
2008 Jun 16 7:37 AM
Hi,
Ur selecting all feilds fron mara into ITAB but in Itab there only few filds declared.
So use
data itab like mara occurs 0 with header line.
Or
SELECT MATNR MTART MATKL UOM LAEDA FROM MARA INTO TABLE ITAB WHERE MATNR = '521196'.
Reward pts if helpfull.
Regards,
Dhan
2008 Jun 16 7:37 AM
you are selecting all the columns (using SELECT *) but your itab has only five fields...this is the reason for this error msg...
either declare your table as
data itab type table of mara.
OR
modify your select statement to select only the fields that are a part of the internal table
SELECT MATNR MTART MATKL MEINS LAEDA FROM MARA INTO TABLE ITAB WHERE MATNR = '521196'.
2008 Jun 16 7:38 AM
TYPES: BEGIN OF TY_ITAB,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
UOM LIKE MARA-MEINS,
LAEDA LIKE MARA-LAEDA,
END OF TY_ITAB.
DATA: ITAB TYPE TABLE OF TY_ITAB,
WA_ITAB TYPE TY_ITAB.Regards
Kannaiah
2008 Jun 16 7:38 AM
hi,
Itab has
MATNR
MTART
MATKL
UOM
LAEDA only these fields
use
select MATNR
MTART
MATKL
UOM
LAEDA from mara
INTO TABLE ITAB WHERE MATNR = '521196'.
Reward points if helpful
Regards,
priya
2008 Jun 16 7:39 AM
Hi,
You have created an internal table with 5 fields and you are trying to fill that table with all the fields from the table MARA.
SO you either modify the SELECT stmt by changing * to 5 fields or change the structure of the internal table to mara.
SELECT MATNR MTART MATKL MEINS LAEDA LAEDA,
FROM MARA INTO TABLE ITAB WHERE MATNR = '521196'
or
data : BEGIN OF ITAB OCCURS 0.
include structure mara.
data end of itab.
Thanks and Regards.
2008 Jun 16 7:40 AM
Hi,
Chnage the select statement as below :
DATA: BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
UOM LIKE MARA-MEINS,
LAEDA LIKE MARA-LAEDA,
END OF ITAB.
DATA: WA_ITAB LIKE LINE OF ITAB.
SELECT * FROM MARA INTO corresponding fields of TABLE ITAB WHERE MATNR = '521196'.
LOOP AT ITAB INTO WA_ITAB.
WRITE : WA_ITAB-MATKL.
ENDLOOP.
Thanks,
Sriram Ponna.
2008 Jun 16 7:41 AM
Hi,
you should use 'CORRESPONDING FIELDS OF 'in the select statement..
Regards,
venkat n
2008 Jun 16 7:45 AM
hi,
Tables : mara .
DATA: BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
UOM LIKE MARA-MEINS,
LAEDA LIKE MARA-LAEDA,
END OF ITAB.
DATA: WA_ITAB LIKE LINE OF ITAB.
SELECT * FROM MARA INTO corresponding fields of TABLE ITAB WHERE MATNR = '521196'.
if sy-subrc = 0.
LOOP AT ITAB INTO WA_ITAB.
WRITE : WA_ITAB-MATKL.
ENDLOOP.
endif.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |