Dmitry Melekhov wrote:
I'm newbiew with SAP DB. We try to migrate to SAP DB from Oracle.
Here is error we got:
General error;-1104 POS(2048) Too complicated SQL statement (KB-stack overflow).
Is there any way to increase stack?
The only way to increase the stack which is relevant for this error message is to increase the database parameter _PACKET_SIZE.
Following dependency exist between _PACKET_SIZE and the stack size _PACKET_SIZE <= 16384 -> stack size: 8192 _PACKET_SIZE <= 65536 -> stack size: 16384 _PACKET_SIZE > 65536 -> stack size: 32768
Thank you! Looks like all is OK now.
But I'm interested in the command which will result in this stack problem. Perhaps you could post it here.
This is very easy :-) Don't ask me why our developer need to create such things. ;-)
For instance, these views:
CREATE VIEW "PEREKR0"
(
"KODPODR",
"GOD",
"MES",
"DEN",
"TABN",
"KRM",
"GR",
"CHAS",
"NOCHN",
"PRAZDN",
"SV",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL",
"CELL"
)
AS SELECT KODPODR, GOD, MES,DEN, TABN, KRM,GR,CHAS,NOCHN,PRAZDN,SV, CASE WHEN CHAS=0 OR CHAS IS NULL THEN '' ELSE CHAS END || CASE WHEN NOCHN=0 OR NOCHN IS NULL THEN '' ELSE '/' || NOCHN END || CASE WHEN PRAZDN=0 OR PRAZDN IS NULL THEN '' ELSE CASE WHEN NOCHN=0 OR NOCHN IS NULL THEN '/' ELSE '' END || '/' || PRAZDN END || CASE WHEN SV IS NULL THEN '' ELSE CASE WHEN (CHAS=0 OR CHAS IS NULL) AND (NOCHN=0 OR NOCHN IS NULL) AND (PRAZDN=0 OR PRAZDN IS NULL) THEN '' ELSE '/' END || SV END AS CELL FROM TABEL."tabel" WHERE KODPODR > '00000000' AND GOD > '0000' AND MES > '00' AND TABN > '00000' AND KRM > '00'
CREATE VIEW "PEREKR"
(
"KODPODR",
"GOD",
"MES",
"TABN",
"KRM",
"GR",
"d1",
"d1",
"d2",
"d2",
"d3",
"d3",
"d4",
"d4",
"d5",
"d5",
"d6",
"d6",
"d7",
"d7",
"d8",
"d8",
"d9",
"d9",
"d10",
"d10",
"d11",
"d11",
"d12",
"d12",
"d13",
"d13",
"d14",
"d14",
"d15",
"d15",
"TABEL"
)
AS SELECT KODPODR, GOD, MES, TABN, KRM,GR, MAX(CASE WHEN DEN='1' THEN CELL ELSE '' END) AS "d1",MAX(CASE WHEN DEN='2' THEN CELL ELSE '' END) AS "d2",MAX(CASE WHEN DEN='3' THEN CELL ELSE '' END) AS "d3",MAX(CASE WHEN DEN='4' THEN CELL ELSE '' END) AS "d4",MAX(CASE WHEN DEN='5' THEN CELL ELSE '' END) AS "d5",MAX(CASE WHEN DEN='6' THEN CELL ELSE '' END) AS "d6",MAX(CASE WHEN DEN='7' THEN CELL ELSE '' END) AS "d7",MAX(CASE WHEN DEN='8' THEN CELL ELSE '' END) AS "d8",MAX(CASE WHEN DEN='9' THEN CELL ELSE '' END) AS "d9",MAX(CASE WHEN DEN='10' THEN CELL ELSE '' END) AS "d10",MAX(CASE WHEN DEN='11' THEN CELL ELSE '' END) AS "d11",MAX(CASE WHEN DEN='12' THEN CELL ELSE '' END) AS "d12",MAX(CASE WHEN DEN='13' THEN CELL ELSE '' END) AS "d13",MAX(CASE WHEN DEN='14' THEN CELL ELSE '' END) AS "d14",MAX(CASE WHEN DEN='15' THEN CELL ELSE '' END) AS "d15" ,MAX(CASE WHEN den='16' THEN cell ELSE '' END) AS "d16" ,MAX(CASE WHEN den='17' THEN cell ELSE '' END) AS "d17" ,MAX(CASE WHEN den='18' THEN cell ELSE '' END) AS "d18" ,MAX(CASE WHEN den='19' THEN cell ELSE '' END) AS "d19" ,MAX(CASE WHEN den='20' THEN cell ELSE '' END) AS "d20" ,MAX(CASE WHEN den='21' THEN cell ELSE '' END) AS "d21" ,MAX(CASE WHEN den='22' THEN cell ELSE '' END) AS "d22" ,MAX(CASE WHEN den='23' THEN cell ELSE '' END) AS "d23" ,MAX(CASE WHEN den='24' THEN cell ELSE '' END) AS "d24" ,MAX(CASE WHEN den='25' THEN cell ELSE '' END) AS "d25" ,MAX(CASE WHEN den='26' THEN cell ELSE '' END) AS "d26" ,MAX(CASE WHEN den='27' THEN cell ELSE '' END) AS "d27" ,MAX(CASE WHEN den='28' THEN cell ELSE '' END) AS "d28" ,MAX(CASE WHEN den='29' THEN cell ELSE '' END) AS "d29" ,MAX(CASE WHEN den='30' THEN cell ELSE '' END) AS "d30" ,MAX(CASE WHEN den='31' THEN cell ELSE '' END) AS "d31" FROM PEREKR0 WHERE KODPODR > '00000000' AND GOD > '0000' AND MES > '00' AND TABN > '00000' AND KRM > '00' GROUP BY KODPODR, GOD, MES, TABN, KRM,GR HAVING SUM(CHAS)>0 OR MAX(SV)>'_'
_______________________________________________ sapdb.general mailing list [EMAIL PROTECTED] http://listserv.sap.com/mailman/listinfo/sapdb.general
