Hi zusammen,
ich habe bei functions in Datenbankobjekten festgestellt, dass die Einschränkung für Mandanten nicht funktioniert.
Ich habe folgende Funktion, die fehlerfrei funktioniert (informative Darstellung des EK eines Artikels in einer Auftragsposition –> noch keine Einschränkung auf einen Mandanten)
CREATE OR REPLACE FUNCTION ABCD_CA_AUFPOS_EKARTIKEL(id numeric)
RETURNS numeric AS
$BODY$
DECLARE
ekartikel numeric;
BEGIN
SELECT T1.dbleknetto INTO ekartikel
FROM ABCD_ARTIKEL T1
INNER JOIN BF2Y_AUFTRAGSPOSITION T2 ON T1.intid = T2.intid_artikel
WHERE intid = id;
RETURN ekartikel;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
Nun habe ich die Einschränkung auf einen Mandanten eingefügt –> (SELECT * FROM BF2Y_ARTIKEL WHERE STRUID_NUCLOSMANDATOR in (‚$mandator‘)) :
CREATE OR REPLACE FUNCTION ABCD_CA_AUFPOS_EKARTIKEL(id numeric)
RETURNS numeric AS
$BODY$
DECLARE
ekartikel numeric;
BEGIN
SELECT T1.dbleknetto INTO ekartikel
FROM (SELECT * FROM ABCD_ARTIKEL WHERE STRUID_NUCLOSMANDATOR in ('$mandator')) T1
INNER JOIN BF2Y_AUFTRAGSPOSITION T2 ON T1.intid = T2.intid_artikel
WHERE intid = id;
RETURN ekartikel;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
Die Abfrage wird fehlerfrei abgespeichert, allerdings wird der Wert nicht übertragen. Das zugeordnete Feld in der Auftragsposition bleibt leer. Ein Fehler wird nicht angezeigt.
Als Test habe ich die Abfrage mal unter Datenquellen–> Berechnetes Attribut angelegt. Hier funktioniert alles, also einschl. der Einschränkung auf den Mandanten wird das Feld in der Auftragsposition korrekt gefüllt.
Was kann hier die Ursache sein? Vielleicht muss der Select (SELECT * FROM BF2Y_ARTIKEL WHERE STRUID_NUCLOSMANDATOR in (‚$mandator‘)) anders aussehen.
Kennt das jemand und kann hier unterstützen oder ist das ein Bug.
Vielen Dank schon mal.
-
Dieses Thema wurde geändert vor 1 Jahr, 8 Monaten von
Dieter Mennig.
-
Dieses Thema wurde geändert vor 1 Jahr, 8 Monaten von
Dieter Mennig.
-
Dieses Thema wurde geändert vor 1 Jahr, 8 Monaten von
Dieter Mennig.
-
Dieses Thema wurde geändert vor 1 Jahr, 8 Monaten von
Dieter Mennig.