Hi,

in dem og. Programm habe ich diverse SQL-Aufrufe, darunter 2 mit SELECT CASE, z. B.:

EXEC SQL
SELECT COUNT(*)
,CASE
WHEN ARZNEIMITTEL = '2'
THEN 1
WHEN VERBANDMITTEL = '1'
THEN 2
WHEN HILFSMITTEL = '1'
THEN 3
ELSE 9
END PRODUKTGRUPPE
,DIAETETIKUM
,ZUZAHLUNG
FROM PZN_GKV_PREISE
WHERE PZN = :VAR-PZN
AND :VAR-DAT-ABGABE BETWEEN GUELTIG_VON
AND NVL(GUELTIG_BIS,SYSDATE)
GROUP
BY ARZNEIMITTEL
,VERBANDMITTEL
,HILFSMITTEL
,DIAETETIKUM
,ZUZAHLUNG
END-EXEC

Das Select-Statement arbeitet für sich genommen richtig (beim Ausführen mit SQLPLUS). Ebenso, wenn ich es aus einer PL/SQL-Prozedur aufrufe.
Beim Aufruf durch das Cobol-Programm jedoch erfolgt ein Abbruch mit "ORA-00905: missing keyword".

Dasselbe passiert bei dem anderen Select-Statement mit CASE. Ohne CASE im SELECT gibt es bei dem Cobol-Programm aber kein Problem.

Hat jemand eine Erklärung dafür?

COBOL II (IBM)
Oracle 9.2
Mainframe/Betriebssystem z/OS

Mfg
Klaus