Die Fehlermeldung rührt daher,dass Du versuchst, deine alphanumerische Artikelnummer einer Integer-Variable zuzuweisen. Das geht eigentlich in allen Programmiersprachen schief und so auch in SQL. Was Du wissen musst ist, dass die
Wawi intern mit einer rein numerischen Artikelnummer arbeitet, nämlich
kArtikel, die Du unten auch benutzt, dass das aber eben nicht Deine Artikelnummer ist. Die steht nur über eine Relation zur Tabelle
tArtikel zur Verfügung.
Die brauchen wir hier aber auch gar nicht, denn diese interne Artikelnummer ist eigentlich in alle List & Label Vorlagen, die mit Artikeln arbeiten eingebunden und deshalb wäre die einfachste Korrektur Deiner Query von oben...
Code:
JTL_DirectQuery ("SELECT cBeschreibung FROM tArtikelBeschreibung WHERE kArtikel = '" + ToString$(Positionen.InterneArtikelnummer) + "'")
Ich habe also nur ein "Interne" vor Artikelnummer gesetzt und da Du einen Query-STRING übergibst, habe ich diese interne Artikelnummer in einen String gewandelt. Das funktioniert, aber jetzt bekommst Du die Beschreibung aus dem "Global" Bereich zurückgeliefert und der enthält die Texte für den Webshop und Du bekommst auch immer nur die deutsche Beschreibung zurückgeliefert, hmm.
Um die richtige Beschreibung in der richtigen Sprache zurückzuliefern müssen wir die Query noch um eine Abfrage auf die korrekte "Plattform" (Wawi=10001) und auf die Sprache des aktuellen Vorgangs, also dieser
Lieferantenbestellung erweitern...
Code:
JTL_DirectQuery ("SELECT cBeschreibung FROM tArtikelBeschreibung WHERE kPlattform=10001 AND kSprache='"+ToString$(Positionen.VorgangSpracheInterneNummer)+"' AND kArtikel='" + ToString$(Positionen.InterneArtikelnummer) + "'")
Jetzt passt es und wenn Du statt der (langen) Beschreibung den Text aus dem Feld "Kurzbeschreibung" in der Wawi haben möchtest, dann ersetzt Du oben im SELECT Teil
cBeschreibung durch
cKurzBeschreibung.
Bleibt mir nur noch zu sagen, dass Du das Ganze eigentlich gar nicht brauchst, respektive brauchen solltest, denn es gibt die passenden Variablen auch bereits in List & Label in der Tabelle
Vorgang.Positionen, die per Default in jede Lieferantenbestellungs-Vorlage eingebunden ist und die Variablen dort heißen
Positionen.Kurzbeschreibung,
Positionen.Artikel.Kurzbeschreibung und
Positionen.Artikel.Beschreibung.
Das Problem ist aber, dass diese Variablen aktuell buggy sind:
Positionen.Kurzbeschreibung gibt leider nur den Webshop-Kurztext aus (aber in der richtigen Sprache) und
Positionen.Artikel.Kurzbeschreibung und
Positionen.Artikel.Beschreibung geben zwar korrekt die kurzen und langen Texte aus dem Bereich Drucken/Mailen/Faxen wieder, aber immer nur in Deutsch, egal welche Sprache aktuell verwendet wird.
In anderen Worten, sobald das gefixed ist, wäre es sicherlich die bessere Lösung, die "eingebauten" Variablen zu benutzen, bis dahin ist die
JTL_DirectQuery() aber die einzige Chance, die korrekten Texte ausgegeben zu bekommen.