Robi
06-12-11, 11:18
Hi *all
folgendes SQL Statement ist interaktiv ist nach 4-5 Sekunden durch, liefert aber null Werte.
:RRTT1 = 16
:RRJJ1=2011
:RRMM1=11
D09HDDTG-J M und T = 2011 11 30
Als embeddet sql hört es nicht mehr auf
C/EXEC SQL
C+ SELECT COUNT(*), SUM(A.HFRAHO) INTO :KIANZA :IND1, :MK_11_F :IND2
C+ FROM HISTFP A, MANDAP, HISTDP, AKTENP
C+ WHERE A.HFRARA > 0 AND A.HFDLOJ = 0 AND A.HFDABT = :RRTT1 AND
C+ AZKEY1 = A.HFKEY1 AND AZKEY2 = A.HFKEY2 AND AZKEY3 = A.HFKEY3 AND
C+
C+ AZMANR = MAMDNR AND AZMAAN = MAAUNR AND MAKZFO = 0 AND
C+ AZGESA > 10 AND
C+ ((13-A.HFDABM)+12*(:RRJJ1-(A.HFDABJ+1))+A.HFDABM)*A.HFRAHO/
C+ CASE WHEN A.HFRAZI = 0 THEN 1 ELSE A.HFRAZI END <=
C+ (SELECT SUM(HDZAHL) FROM HISTDP WHERE
C+ HDDAJJ*10000+HDDAMM*100+HDDATT>=A.HFDABJ*10000+A.HFDABM*100+A.HFDABT AND
C+ HDDAJJ*10000+HDDAMM*100+HDDATT >=
C+ :D09HDDTGJ*10000+:D09HDDTGM*100+:D09HDDTGT AND
C+ HDSTOR = 0 AND HDKZZE = 1 AND
C+ HDKEY1 = A.HFKEY1 AND HDKEY2 = A.HFKEY2 AND HDKEY3 = A.HFKEY3)
C/END-EXEC
Im WRKACTJOB steht der Job auf
Programm Anweisung Prozedur
QSQRUN2 QSYS 14152 F_EMBSELL
QSQRUN2 QSYS 19554 F_GETBLK
QDBGETMQO QSYS 2899 QDBGETMQO
und bewegt sich nicht. CPU geht auf über 50 %
Sieht da jemand die Ursache?
Danke
Robi
PS: Das selbe Statement, nur mit der Abfrage
MAKZFO = 1 anstatt 0 (Zeile 7, hinten) läuft embeddet normal durch. ( je nach Datumseingrenzung, mit und ohne Ergebnis)
folgendes SQL Statement ist interaktiv ist nach 4-5 Sekunden durch, liefert aber null Werte.
:RRTT1 = 16
:RRJJ1=2011
:RRMM1=11
D09HDDTG-J M und T = 2011 11 30
Als embeddet sql hört es nicht mehr auf
C/EXEC SQL
C+ SELECT COUNT(*), SUM(A.HFRAHO) INTO :KIANZA :IND1, :MK_11_F :IND2
C+ FROM HISTFP A, MANDAP, HISTDP, AKTENP
C+ WHERE A.HFRARA > 0 AND A.HFDLOJ = 0 AND A.HFDABT = :RRTT1 AND
C+ AZKEY1 = A.HFKEY1 AND AZKEY2 = A.HFKEY2 AND AZKEY3 = A.HFKEY3 AND
C+
C+ AZMANR = MAMDNR AND AZMAAN = MAAUNR AND MAKZFO = 0 AND
C+ AZGESA > 10 AND
C+ ((13-A.HFDABM)+12*(:RRJJ1-(A.HFDABJ+1))+A.HFDABM)*A.HFRAHO/
C+ CASE WHEN A.HFRAZI = 0 THEN 1 ELSE A.HFRAZI END <=
C+ (SELECT SUM(HDZAHL) FROM HISTDP WHERE
C+ HDDAJJ*10000+HDDAMM*100+HDDATT>=A.HFDABJ*10000+A.HFDABM*100+A.HFDABT AND
C+ HDDAJJ*10000+HDDAMM*100+HDDATT >=
C+ :D09HDDTGJ*10000+:D09HDDTGM*100+:D09HDDTGT AND
C+ HDSTOR = 0 AND HDKZZE = 1 AND
C+ HDKEY1 = A.HFKEY1 AND HDKEY2 = A.HFKEY2 AND HDKEY3 = A.HFKEY3)
C/END-EXEC
Im WRKACTJOB steht der Job auf
Programm Anweisung Prozedur
QSQRUN2 QSYS 14152 F_EMBSELL
QSQRUN2 QSYS 19554 F_GETBLK
QDBGETMQO QSYS 2899 QDBGETMQO
und bewegt sich nicht. CPU geht auf über 50 %
Sieht da jemand die Ursache?
Danke
Robi
PS: Das selbe Statement, nur mit der Abfrage
MAKZFO = 1 anstatt 0 (Zeile 7, hinten) läuft embeddet normal durch. ( je nach Datumseingrenzung, mit und ohne Ergebnis)