Hallo, ich habe ein SQL-Programm geschrieben, welches
viele Embedded SQL Statements enthält. Z.B. so eins

C/EXEC SQL
C+ SELECT SUM(VB) INTO :H#SUM FROM LOHKOSP WHERE
C+ VABHI = 4 AND VWERK = :##WRK AND VABJJ = :##JR AND
C+ VABMM BETWEEN 01 AND :##MM AND
C+ (VBKST = 145210 OR VBKST = 145221 OR
C+ VBKST = 145224 OR
C+ VBKST = 145222 OR VBKST = 145223) AND
C+ (VKONT = 60100 OR VKONT = 60110 OR VKONT = 60150 OR
C+ VKONT = 60180 OR VKONT = 61000)
C+ AND VEURO = 1
C/END-EXEC
C*

Problem:
Bei Programmänderungen müssen alle Statements manuell im Source abgeändert werden.
Um dies zu vermeiden, habe ich ein Verwaltungsprogramm geschrieben, welches die
Parameter in eine Datei schreibt.
Diese Parameter werden in einem weiteren Programm gelesen und in einer Variable zu einem SQL
Kommando zusammengebaut. Z.B. so

Der Inhalt der Variable SQLCMD ist:
SELECT SUM(VB) INTO :H#SUM FROM LOHKOSP WHERE VABHI = 4 AND
VWERK = :##WRK AND VABJJ = :##JR AND VABMM BETWEEN 01 AND :##MM AND
VEURO = 1 AND VBKST IN ( 145210, 145221, 145224, 145222, 145223)
AND VKONT IN ( 60100, 60110, 60150, 60180, 61000)


Ich hatte vor das Kommando mit EXECUTE IMMEDIATE auszuführen:

C/EXEC SQL
C+ EXECUTE IMMEDIATE :SQLCMD
C/END-EXEC


Was aber laut Handbuch und Nachfrage in diesem Forum nicht geht.

Wie kann ich diesem Problem lösen ??

Danke für alle Antworten.