Hello Everybody

 

I want to extract material data  from a structured table(instueckliste)
with an recursive query!

(all material needed for l_startstl)

My application connects via odbc

 

l_cmd = "DECLARE RNAME CURSOR FOR WITH RECURSIVE TMPOBJ " +;

        "(LEVEL,stlnr,stlbezeich,posnr,matnr,matbezeich,menge,me,ekz)  "
+;

        " AS (SELECT 1, instueckliste.instlnr as
stlnr,stlbeze.inbezeich_d as stlbezeich," +;

        "instueckliste.instlposnr as posnr," +;

        "instueckliste.inmatnr as matnr,matbeze.inbezeich_d as
matbezeich," +;

        "instueckliste.instlmenge as menge," +;

        "matbeze.inmatme as me,instueckliste.inekz as ekz " +;

        " from instueckliste " +;

        " join inmaterialstamm stlbeze on instueckliste.instlnr =
stlbeze.inmatnr " +;

        " join inmaterialstamm matbeze on instueckliste.inmatnr =
matbeze.inmatnr " +;

        " where instueckliste.instlnr = ?l_startstl " +; 

        " UNION ALL SELECT TMPOBJ.LEVEL + 1, instueckliste.instlnr as
stlnr,stlbeze.inbezeich_d as stlbezeich," +;

        " instueckliste.instlposnr as posnr," +;

        " instueckliste.inmatnr as matnr,matbeze.inbezeich_d as
matbezeich,"+;

        " instueckliste.instlmenge * tmpobj.menge as menge," +;

        " matbeze.inmatme as me,instueckliste.inekz as ekz " +;

        " from tmpobj,instueckliste " +;

        " join inmaterialstamm stlbeze on instueckliste.instlnr =
stlbeze.inmatnr " +;

        " join inmaterialstamm matbeze on instueckliste.inmatnr =
matbeze.inmatnr " +;

        " where instueckliste.instlnr = tmpobj.matnr) " +;

        " SELECT tmpobj.* FROM TMPOBJ " +;

        " order by level,stlnr,posnr"

 

=sqlexec(connnr,l_cmd,"ERGEBNIS")

 

Everything OK!

I get the wanted result in 1 second.

 

 

Now i tried to extract the same data for building l_startstl twice

l_startmenge = 2

l_cmd = "DECLARE RNAME CURSOR FOR WITH RECURSIVE TMPOBJ " +;

 
"(LEVEL,stlnr,stlbezeich,posnr,matnr,matbezeich,menge,me,ekz)  " +;

            " AS (SELECT 1, instueckliste.instlnr as
stlnr,stlbeze.inbezeich_d as stlbezeich,instueckliste.instlposnr as
posnr," +;

            "instueckliste.inmatnr as matnr,matbeze.inbezeich_d as
matbezeich," +;

            "instueckliste.instlmenge * ?l_startmenge as menge," +;

            "matbeze.inmatme as me,instueckliste.inekz as ekz " +;

            " from instueckliste " +;

            " join inmaterialstamm stlbeze on instueckliste.instlnr =
stlbeze.inmatnr " +;

            " join inmaterialstamm matbeze on instueckliste.inmatnr =
matbeze.inmatnr " +;

            " where instueckliste.instlnr = ?l_startstl " +; 

            " UNION ALL SELECT TMPOBJ.LEVEL + 1, instueckliste.instlnr
as stlnr,stlbeze.inbezeich_d as stlbezeich,instueckliste.instlposnr as
posnr," +;

            " instueckliste.inmatnr as matnr,matbeze.inbezeich_d as
matbezeich,"+;

            "instueckliste.instlmenge * tmpobj.menge as menge," +;

            " matbeze.inmatme as me,instueckliste.inekz as ekz " +;

            " from tmpobj,instueckliste " +;

            " join inmaterialstamm stlbeze on instueckliste.instlnr =
stlbeze.inmatnr " +;

            " join inmaterialstamm matbeze on instueckliste.inmatnr =
matbeze.inmatnr " +;

            " where instueckliste.instlnr = tmpobj.matnr) " +;

            " SELECT tmpobj.* FROM TMPOBJ " +;

            " order by level,stlnr,posnr"

            

 =sqlexec(connnr,l_cmd,"ERGEBNIS")

 

 DATABASE CRASH !!!!!!!!!

 1526

Connectivity-Fehler: [SAP AG][SQLOD32 DLL][MaxDB] General error;800
Implicit SERVERDB restart (connection aborted)

[SAP AG][SQLOD32 DLL][MaxDB] General error;800 Implicit SERVERDB restart
(connection aborted)

S1000

800

1

 

A) Database crash with select command ??????????????????????????

b) How to extract all material that is needed to build l_startstl n
times ???????????????

 

Any help welcomed

Best regards

Albert

Reply via email to