Hallo *all,

ich zerbreche mir den Kopf, warum eigentlich SQL Statement:

Code:
exec sql                                                
  SELECT SUM(ZTEV + ZTAV)                               
  INTO :SOLLZ :MyIndikator                            
  FROM (                                                
  SELECT SUM(DISTINCT                                   
  CASE WHEN ZTAV = 0 THEN ZTEV ELSE 0 END) AS ZTEV, 
  SUM(DISTINCT                                          
  CASE WHEN ZTAV <> 0 THEN ZTAV ELSE 0 END) AS ZTAV 
  FROM WORKF                                         
  WHERE PENR = :PENR AND AUF# = :AUF#           
  GROUP BY ABT, KST, LAG, AUF#)              
  AS X;
den Fehler:
Code:
Sqlcod 304 SQLSTT = '01515'  
Explanation: Conversion error in assignment to host variable &2
liefert.

Wenn ich das Sql direkt absetze bekomme ich folgende Werte:
Code:
    EVZT     ZTAV 
  29.720        0

Die 2 Variablen sind mit 6, 0 definiert, daher ist mir der Error nicht verständlich da das Ergebnis
5, 0 ist.

In der Programmstruktur hätte ich MyIndikator wie immer wie folgt definiert:
Code:
d MyIndikator                    5I 0

Was hats den da?

Dank im Voraus

Tarki