07-31-2009 11:37 AM
Hi,
When i activate my report, it gives an Syntax Error: - The work area "ITAB" is not long enough.
What is the problem. Please check my code:--
***************************
REPORT ztest.
DATA: BEGIN OF it_t100 OCCURS 0,
checkbox LIKE abgr-kzart,
ebeln LIKE ekbe-ebeln,
ebelp LIKE ekbe-ebelp,
gjahr LIKE ekbe-gjahr,
END OF it_t100.
DATA:program TYPE sy-repid VALUE sy-repid.
TYPE-POOLS slis.
DATA:it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF it_fieldcat.
DEFINE fieldcatalog.
wa_fieldcat-fieldname = &1.
wa_fieldcat-tabname = 'IT_T100'.
wa_fieldcat-seltext_m = &2.
wa_fieldcat-emphasize = &3. "highlight columns in color
append wa_fieldcat to it_fieldcat.
clear wa_fieldcat.
END-OF-DEFINITION.
START-OF-SELECTION.
SELECT * FROM ekbe INTO TABLE it_t100 UP TO 100 ROWS.
fieldcatalog: 'CHECKBOX' 'CHECKBOX' 'C210',
'EBELN' 'EBELN' 'C310',
'EBELP' 'EBELP' 'C410',
'GJAHR' 'GJAHR' 'C510'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = program
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_t100.
***************************
Regards,
07-31-2009 11:41 AM
hi,
Do changes in your select stamement,since der are only three fields in your internal table
and you are trying to fetch all fields from the database table EKBE
SELECT ebeln
ebelp
gjahr FROM ekbe INTO CORRESPONDING FIELDS OF TABLE it_t100 UP TO 100 ROWS.
Thanks
07-31-2009 11:40 AM
Hi,
You have tried to select all the fields from the database table EKBE. But your internal table can hold only 3 fields from the database table. So there is incompatibility.
Do this
START-OF-SELECTION.
SELECT ebeln ebelp gjahr FROM ekbe INTO CORRESPONDING FIELDS OF TABLE it_t100 UP TO 10 ROWS.
Or if you want all the fields, then you will have to declare your internal table TYPE STANDARD TABLE of EKBE.
07-31-2009 11:41 AM
hi,
Do changes in your select stamement,since der are only three fields in your internal table
and you are trying to fetch all fields from the database table EKBE
SELECT ebeln
ebelp
gjahr FROM ekbe INTO CORRESPONDING FIELDS OF TABLE it_t100 UP TO 100 ROWS.
Thanks
07-31-2009 11:41 AM
Hi,
<li>You need to use SELECT query like below
<li> When you use SELECT * , It means selecting EKBE all fields to it_t100 which has only 4 fields.
Thanks
Venkat.OSELECT * FROM ekbe INTO CORRESPONDING FIELDS OF TABLE it_t100 UP TO 100 ROWS.
07-31-2009 12:19 PM
Hi,
Thanks dear for valuable reply....
Please clear one thing that when i m executing the report, it's output is coming column wise colorful. Is it possible, when i export it to excel, should comes in column wise colorful.
Or any other idea.
Regards...
07-31-2009 1:02 PM
Hello,
If you want same format in excel as source I think you need to use OLE objects for such things but in standard procedure provided for downloading records don't support formatting colours column wise.
Please check SAP help on using OLE object.
Thanks,
Augustin.
07-31-2009 11:46 AM
Hi,
Its because you have not mentioned the INTO CORRESPONDING FIELDS OF TABLE ITAB clause in your select statement.
But its always recommended to specify the fields explicitly than using into corresponding fields of table itab which may affect the perfomance of the select query.
Regards,
Vik
07-31-2009 11:50 AM
Hi,
correct program is:
REPORT ztest.
Types: BEGIN OF t_t100,
ebeln type ekbe-ebeln,
ebelp type ekbe-ebelp,
gjahr type ekbe-gjahr,
END OF t_t100.
data : it_t100 TYPE standard TABLE OF t_t100 with header line.
DATA:program TYPE sy-repid VALUE sy-repid.
TYPE-POOLS slis.
DATA:it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF it_fieldcat.
DEFINE fieldcatalog.
wa_fieldcat-fieldname = &1.
wa_fieldcat-tabname = 'IT_T100'.
wa_fieldcat-seltext_m = &2.
wa_fieldcat-emphasize = &3. "highlight columns in color
append wa_fieldcat to it_fieldcat.
clear wa_fieldcat.
END-OF-DEFINITION.
START-OF-SELECTION.
SELECT * FROM ekbe INTO corresponding fields of TABLE it_t100 UP TO 100 ROWS.
fieldcatalog:
'EBELN' 'EBELN' 'C310',
'EBELP' 'EBELP' 'C410',
'GJAHR' 'GJAHR' 'C510'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = program
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_t100.
07-31-2009 11:52 AM
Hai
Use like this:
SELECT * FROM ekbe INTO corresponding fields of TABLE it_t100 UP TO 100 ROWS.
07-31-2009 12:00 PM
HI All,
I also join the rally of INTO CORRESPONDING FIELDS OF ITAB
INTO CORRESPONDING FIELDS OF ITAB
INTO CORRESPONDING FIELDS OF ITAB
INTO CORRESPONDING FIELDS OF ITAB
INTO CORRESPONDING FIELDS OF ITAB
INTO CORRESPONDING FIELDS OF ITAB
|
|
|
|
|
+INTO CORRESPONDING FIELDS OF ITAB
Regards
Ramchander Rao.Krishnamraju
07-31-2009 1:00 PM
Hello,
Apart from using INTO CORRESPONDING clause in select statement, Also remove OCCURS addition from internal table declaration as it is obsolute. Instead you can create user defined type using TYPES and then use it to create internal table
using TYPE TABLE OF addition.
Thanks,
Augustin.