‎2011 Oct 19 5:40 AM
Hi Experts
ABAP Error in BI
calling PSA table to my program it contains more than 200000 records also applying grouping in select statement
But it showing dump .
please correct me if any wrong in my code.
BREAK-POINT.
DATA : BEGIN OF ITAB4 OCCURS 0,
REPORT_TYPE LIKE /BIC/B0007048000-REPORT_TYPE,
JV_NO LIKE /BIC/B0007048000-JV_NO,
AMOUNT LIKE /BIC/B0007048000-AMOUNT,
RECORD_COUNT LIKE /BIC/B0007048000-RECORD,
END OF ITAB4.
DATA: WTAB4 LIKE ITAB4.
SELECT REPORT_TYPE JV_NO SUM( AMOUNT ) COUNT(*)
INTO TABLE ITAB4 PACKAGE SIZE 5000
FROM /BIC/B0007048000
GROUP BY REPORT_TYPE JV_NO.
ENDSELECT.
BELOW is the dump error
solution please
Check the entries in the developer trace of the relevant work process
(transaction ST11).
Here you can find detailed information about the type and length of the
database field as well as the ABAP field into which the field was to be
imported.
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"DBIF_RSQL_INVALID_RSQL" "CX_SY_OPEN_SQL_DB"
"ZREVRECON" or "ZREVRECON"
"START-OF-SELECTION"
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
‎2011 Oct 19 3:30 PM
Hi,
I believe the short-dump is due to the excessively large amount of data that is being fetched. A direct SELECT on the database will not help, even though you are appending in a PACKAGE SIZE.
You could try out the statement OPEN CURSOR to fetch the data. I have used this procedure before.
Please try as per the example given below:
OPEN CURSOR: lv_cursor FOR SELECT pstng_date ucrate_cat ucdeeinvdn
FROM /bic/azsod00200 FOR ALL ENTRIES IN li_source_package
WHERE ucdeeinvdn = li_source_package-ucdeeinvdn.
DO.
IF lv_flag NE 'X'.
FETCH NEXT CURSOR lv_cursor INTO TABLE li_zso002 PACKAGE
SIZE 5000.
IF sy-subrc <> 0.
CLOSE CURSOR lv_cursor.
lv_flag = 'X'.
ENDIF.
ENDIF.
ENDDO.
‎2011 Oct 21 6:55 AM
Hi Aneel
can u explain me the concept of open Cursor Statement what is happening because i am new to ABAP
i am not familiar in that statement.
Regards
Giridharan R
‎2011 Oct 21 12:16 PM
Hi,
Requesting you to please visit this link. It has detailed information with relevant examples.
[http://help.sap.com/saphelp_470/helpdata/en/fc/eb3b23358411d1829f0000e829fbfe/content.htm]
‎2011 Oct 21 2:24 PM
OPEN CURSOR will allow you to have multiple SELECTs active for the same table at the same time, so I don't think it is relevant here. I suspect that it has more to do with the combination of the aggregate expressions and the PACKAGE SIZE. You might try getting rid of the aggregates and see if that works. If it does, then work on getting the sums and counts afterward.
Rob
‎2011 Oct 19 3:54 PM
Does it make sense to use an aggregate expression with PACKAGE SIZE?
Rob