on 03-09-2010 8:29 AM
Hallo
Query wurde im SQL-Server 2008 entwickelt, danach ins SAP Business One übernommen (2007 A SP:01 PL:08).
Über Layoutdesigner wurde ein Formular erstellt, das auf die neue Abfrage zugreift - so weit so gut - Formular funktioniert.
Die Abfrage soll aber als Solche auch aufrufbar sein, die führt allerdings zu der oben genannten Fehlermeldung !
Also bin ich hin und habe die Abfrage Schritt für Schritt nochmal im SB1 nachvollzogen und dadurch festgestellt,
daß der Fehler eindeutig an der WHERE-Klausel hängt !
Wie sind die Parameter einzustellen und was habe ich falsch gemacht ?
Hier mein Code:
WHERE (T0.U_ItemCode IN ('[%ItemCode]') OR '[%ItemCode]'='')
AND (T1.U_Status IN ('[%Status]') OR '[%Status]'='')
AND (T1.U_EKRVBP IN ('[%CardCode]') OR '[%CardCode]'='')
AND (T1.Name IN ('[%RVCode]') OR '[%RVCode]'='')
AND (T0.U_ItemName IN ('[%ItemName]') OR '[%ItemName]'='')
Wer kann helfen ?
mfg
Annette Lenhard
Hallo Anette,
Ist mir ein bekanntes Problem. In SAP mußt du in manchen Fällen (hab noch nicht rausbekommen in welchen) die Variablen vorab deklarieren.
Ein Beispiel füge ich bei:
DECLARE @WHS as Varchar (8)
DECLARE @ItemWhs as Varchar (8)
/* WHERE */
SET @WHS = /* T9.WhsCode */ '[%WhsCode]'
SET @ItemWHS = /* T9.WhsCode */ '[%WhsCode]'
Du mußt noch die Tabelle und die Variablen anpassen.
Das wird auf jeden Fall helfen
Gruß
Lars Barkow
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hallo Annette,
lass Dich von der Fehlermeldung nicht in die Irre leiten - sie stimmt nicht.
Auf den ersten Blick ist kein Fehler zu erkennen, allerdings sollte es so aussehen (Beispiel das funktioniert)
WHERE T0.ITEMCODE = '[%ItemCode]' or '[%ItemCode]'=''
Gruß
Andreas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hier kommt der Code
SELECT T1.Name AS Rahmenvertrag
, T1.U_EKRVdatum AS ErfasstAm
, T1.U_EKRVBP AS Lieferant
, T1.U_EKRVBPName AS Lieferantenname
, T1.U_Status AS RVStatus
, CASE WHEN T1.U_Status = 'O' THEN 'Offen'
WHEN T1.U_Status = 'Y' THEN 'Gedruckt'
WHEN T1.U_Status = 'A' THEN 'Abgeschlossen'
END AS TxtStatus
, T1.U_EKRVvalidv AS Gueltigv
, T1.U_EKRVvalid AS Guelitgb
, T0.U_ItemCode AS Artikel
, T0.LineId
, T0.U_ItemCode_EK AS GPArt
, T0.U_ItemName AS ArtBezeichnung
, T0.U_EKArtMenge AS GesMng
, SUM(T3.Quantity) AS BstMng
, CASE WHEN T3.Quantity = 0.00 THEN SUM(T0.U_EKArtMenge) ELSE SUM(T0.U_EKArtMenge-T3.Quantity) END AS Offen
, SUM((T0.U_EKArtMenge-T3.Quantity)*T0.U_EKArtPreis) AS Preis
, T0.U_EKARTME AS ME
, T0.U_EKArtPreis AS Einzelpreis
, T4.Currency
, T2.U_MS_Breite AS Breite
, T2.U_MS_Frachtgewicht AS Gewicht
FROM [@KAS_EKRV_2] T0
INNER JOIN [@KAS_EKRV_1] T1 ON T1.Name = T0.Code
INNER JOIN OITM T2 ON T2.ItemCode = T0.U_ItemCode
INNER JOIN OCRD T4 ON T4.CardCode = T1.U_EKRVBP
LEFT JOIN POR1 T3 ON T0.U_ItemCode = T3.U_KAS_CNR_ICode AND
T1.Name = T3.U_KAS_CNR_EK
WHERE T0.U_ItemCode IN '[%ItemCode]' OR '[%ItemCode]'=''
/* AND (T1.U_Status IN('[%Status]') OR '[%Status]'='') */
/* AND (T1.U_EKRVBP IN('[%CardCode]') OR '[%CardCode]'='') */
/* AND (T1.Name IN('[%RVCode]') OR '[%RVCode]'='') */
/* AND (T0.U_ItemName IN('[%ItemName]') OR '[%ItemName]'='') */
GROUP BY T1.Name, T0.U_ItemCode, T1.U_EKRVdatum, T1.U_EKRVBP, T1.U_EKRVBPName, T1.U_Status, T0.U_ItemCode,
T0.U_ItemName, T0.U_EKArtMenge, T0.U_ItemCode_EK, T0.U_EKARTME, T0.U_EKArtPreis, T2.U_MS_Breite, T4.Currency,
T3.Quantity, T1.U_EKRVvalidv, T1.U_EKRVvalid, T2.U_MS_Frachtgewicht, T0.LineId
ORDER BY T1.Name, T0.LineId
Edited by: Annette Lenhard on Mar 9, 2010 11:15 AM
Hallo Annette,
sorry, die Query kann ich so nicht bearbeiten / prüfen, sind ja alles Benutzerfelder bzw. Tabellen. Sonst hätte ich mal eben geschaut.
Ich kann Dir nur den Tipp geben, die Query mal NEU abzuspeichern (anderer Name, das hilft manchmal !!!), und schrittweise ein- und auszubauen, um der Ursche auf die Schliche zu kommen.
hoffe das hilft (ein wenig)
Andreas
User | Count |
---|---|
110 | |
12 | |
11 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.