Bernd Wiezroek
06-04-06, 16:07
Das heisst das der Cursor für den Fetch nicht geöffnet war
c move *blanks austab 100
c exfmt auswa
c bmnr ifgt 0
c hda(1) cat hda(2):1 austab
c else
c hda(1) cat hda(3):1 austab
c endif
* HAUPTPROGRAMM
C/EXEC SQL
C+ PREPARE datwa FROM :austab
C/END-EXEC
C/EXEC SQL
C+ DECLARE datzeig CURSOR FOR datwa
C/END-EXEC
C/EXEC SQL
C+ OPEN datzeig
C/END-EXEC
.....
C SQLCOD DOWNE 100
C/EXEC SQL
C+ FETCH datzeig INTO :MINUD, :baladd, :bdnam, :banzd,
C+ :kDSTAD
C/END-EXEC
C SQLCOD CABEQ 100 AUSG
C SETON 22
C MOVE MINUD MINU
....
** HDA
SELECT ausmnr, aussdt, ausdna, ausber, aussts FROM ausipf
where ausmnr = :bmnr
where ausdt = :bdat
Ich verstehe nicht warum der cursor nicht geöffnet wird.
Das ist für mich der erste versuch mit dynamischem SQL
Mit einer statischen Anweisung funktionierte das Programm.
c move *blanks austab 100
c exfmt auswa
c bmnr ifgt 0
c hda(1) cat hda(2):1 austab
c else
c hda(1) cat hda(3):1 austab
c endif
* HAUPTPROGRAMM
C/EXEC SQL
C+ PREPARE datwa FROM :austab
C/END-EXEC
C/EXEC SQL
C+ DECLARE datzeig CURSOR FOR datwa
C/END-EXEC
C/EXEC SQL
C+ OPEN datzeig
C/END-EXEC
.....
C SQLCOD DOWNE 100
C/EXEC SQL
C+ FETCH datzeig INTO :MINUD, :baladd, :bdnam, :banzd,
C+ :kDSTAD
C/END-EXEC
C SQLCOD CABEQ 100 AUSG
C SETON 22
C MOVE MINUD MINU
....
** HDA
SELECT ausmnr, aussdt, ausdna, ausber, aussts FROM ausipf
where ausmnr = :bmnr
where ausdt = :bdat
Ich verstehe nicht warum der cursor nicht geöffnet wird.
Das ist für mich der erste versuch mit dynamischem SQL
Mit einer statischen Anweisung funktionierte das Programm.