Hallo,
ich kann mein Sql mit STRSQL absetzen ohne Fehlermeldung:
Code:
SELECT
TBL1CDE AS CDE, // 16 A
TBL1FO# AS FO#, // 5, 0
TBL1TNR AS TNR, // 16 A
TBL1MEN AS MEN, // 5, 2
case when ifnull((select ART2BEZ from ART2P
where TBL1IMP = PETIMP
AND TBL1TNR = PETTNR ), TBL1BEZ) = ' '
then (select ARTBZ1 FROM ART1P where TBL1TNR = ARTNR)
else ifnull((select ARTBZ2 from ART2P
where TBL1IMP = PETIMP
AND TBL1TNR = PETTNR) , TBL1BEZ)
end as BEZ // 40 A
FROM TABLE1 A INNER JOIN TABLE2
ON TBL1CDE = TBL2ACD)
select CDE, FO#, TNR, BEZ, MEN
from x
ORDER BY CDE, FO#
Wenn ich es im RPG-Programm umsetze bekomme ich die Fehlermeldung:
Code:
Sqlcode= -420 Sqlstate= 22018; Zeichen in CAST-Argument ungültig.
ich fetche das in eine Datenstruktur:
Code:
D SqlRs_Sfl1...
D DS INZ Qualified
D CDE LIKE(TBL1CDE)
D FO# LIKE(TBL1FO#)
D TNR LIKE(TBL1TNR)
D MEN LIKE(TBL1MEN)
D BEZ LIKE(ARTBZ1)
Ich habe in der Datenbank auch nachgesehen ob korrupte Daten vorhanden sind aber es schaut alles ok aus.
Was kann ich noch probieren?
Alles mit IFNULL versehen habe ich schon ausprobiert.
Wenn ich eine Tempfile aus der Abfrage erstelle (create table qtemp/test1 as( ..) with data)
sehe ich das die Definitionen auch korrekt angegeben wurden:
Code:
Feld Datei Art Länge Skala
CDE TEST1 CHARACTER 16
FO# TEST1 DECIMAL 5
TNR TEST1 CHARACTER 16
BEZ TEST1 CHARACTER 40
MEN TEST1 DECIMAL 5 2
Lg
Bookmarks