Seite 1 von 1

Serienbrief + SQL

Verfasst: Mi, 04.03.2009 10:59
von umsteiger47
Moin Moin,

ich versuche schon seit ca. ein paar Tagen mit einer Abfrage einen Serienbrief zu erstellen. Das Prinzip ist simpel:

Anwender gibt eine Kundennummer ein (Idealerweise übergeben als Parameter) daraus resultierend soll folgendes SQL ablaufen:

SELECT "GADRSTP"."ADNUM", "GADRSTP"."ADNM1", "GADRSTP"."ADNM2",
"GADRSTP"."ADNM3", "GADRSTP"."ADSTR", "GADRSTP"."ADPLZ",
"GADRSTP"."ADORT", "GKUOBZP"."KOONR", "GKUOBZP"."KOBBP",
"GKUOBZP"."KOBBJ", "GKUOBZP"."KOBEP", "GKUOBZP"."KOBEJ",
"GKUOBZP"."KOOMG", "GOBJSTP"."OBJBZ" FROM
"S65776AC"."LZDTA"."GKUOBZP" AS "GKUOBZP",
"S65776AC"."LZDTA"."GADRSTP" AS "GADRSTP",
"S65776AC"."LZDTA"."GOBJSTP" AS "GOBJSTP" WHERE "GKUOBZP"."KONUM" =
"GADRSTP"."ADNUM" AND "GOBJSTP"."OBJNR" = "GKUOBZP"."KOONR" AND
"GADRSTP"."ADNUM" = 1685767
AND (((DIGITS("GKUOBZP"."KOBEJ") CONCAT DIGITS("GKUOBZP"."KOBEP")))
= '000000')
AND ("GOBJSTP"."OBJGR" BETWEEN '0' AND '8')

Dabei bekomme ich aber folgenden Fehler:

Syntax Error in SQL-expression

Folgendes Statement funzt aber:

SELECT "GADRSTP"."ADNUM", "GADRSTP"."ADNM1", "GADRSTP"."ADNM2",
"GADRSTP"."ADNM3", "GADRSTP"."ADSTR", "GADRSTP"."ADPLZ",
"GADRSTP"."ADORT", "GKUOBZP"."KOONR", "GKUOBZP"."KOBBP",
"GKUOBZP"."KOBBJ", "GKUOBZP"."KOBEP", "GKUOBZP"."KOBEJ",
"GKUOBZP"."KOOMG", "GOBJSTP"."OBJBZ" FROM
"S65776AC"."LZDTA"."GKUOBZP" AS "GKUOBZP",
"S65776AC"."LZDTA"."GADRSTP" AS "GADRSTP",
"S65776AC"."LZDTA"."GOBJSTP" AS "GOBJSTP" WHERE "GKUOBZP"."KONUM" =
"GADRSTP"."ADNUM" AND "GOBJSTP"."OBJNR" = "GKUOBZP"."KOONR" AND
"GADRSTP"."ADNUM" = 1685767

Was mach ich denn da falsch??????

Auf unserer iSeries funktioniert das ganze einwandfrei.

Vielen Dank im voraus

mfg

Re: Serienbrief + SQL

Verfasst: Fr, 13.03.2009 21:22
von komma4
umsteiger47 hat geschrieben:
AND (((DIGITS("GKUOBZP"."KOBEJ") CONCAT DIGITS("GKUOBZP"."KOBEP")))
= '000000')
AND ("GOBJSTP"."OBJGR" BETWEEN '0' AND '8')
Hast Du Dich vom ordnungsgemässen Aufbau der Rückgabe dieser Funktionen überzeugt?


Je nach verwendetem Treiber (ODBC/JDBC und deren Versionen) kann es die fehlende/fehlerhafte Unterstützung der Funktion sein...

Also:

ist eine debug-Ausgabe vom SELECT korrekt?
Dann tausche den Treiber mal.


Viel Erfolg!