Ich habe eine gespeicherte Prozedur mit Eingabe- und Ausgabeparametern definiert und erhalte den folgenden Fehler, wenn ich versuche, die gespeicherte Prozedur aufzurufen.Fehler beim Aufrufen der gespeicherten DB2-Prozedur
[SQL0312] Variable KUNNR nicht definiert oder nicht verwendbar. Hier
ist der Ruf:
CALL-R3QA6DATA.SP_ADDRESS_CHANGES ('1999-12-31 23.59.59', '2016.06.01 23.59.59': KUNNR,: KUNN2, : NAME1,: NAME2: STRAS,: ORT01,: REGIO,: PSTLZ,: LAND1,: TELF1,: TELFX,: DEFPA)
GO ist die gespeicherte Prozedur:
CREATE PROCEDURE R3QA6DATA.SP_ADDRESS_CHANGES
(IN STARTDATE TIMESTAMP, IN ENDDATE TIMESTAMP,
OUT KUNNR GRAPHIC(10), OUT KUNN2 GRAPHIC(10), OUT NAME1 GRAPHIC(35), OUT NAME2 GRAPHIC(35), OUT STRAS GRAPHIC(35), OUT ORT01 GRAPHIC(35),
OUT REGIO GRAPHIC(3), OUT PSTLZ GRAPHIC(10), OUT LAND1 GRAPHIC(3), OUT TELF1 GRAPHIC(16), OUT TELFX GRAPHIC(31), OUT DEFPA GRAPHIC(1))
LANGUAGE SQL
BEGIN
SELECT DISTINCT
knvp.kunnr
, knvp.kunn2
, kna1.name1
, kna1.name2
, kna1.stras
, kna1.ort01
, kna1.regio
, kna1.pstlz
, kna1.land1
, kna1.telf1
, kna1.telfx
, knvp.defpa
INTO KUNNR, KUNN2, NAME1, NAME2, STRAS, ORT01, REGIO, PSTLZ, LAND1, TELF1, TELFX, DEFPA
FROM
R3QA6DATA.KNA1 AS kna1
INNER JOIN
R3QA6DATA.ZMBCM AS zmbcm
ON
kna1.KUNNR = zmbcm.KUNAG
INNER JOIN
R3QA6DATA.KNVV AS knvv
ON
(kna1.KUNNR = knvv.KUNNR)
INNER JOIN
R3QA6DATA.KNVP AS knvp
ON
(
knvv.KUNNR = knvp.KUNNR
AND
knvv.VKORG = knvp.VKORG
AND
knvv.VTWEG = knvp.VTWEG
AND
knvv.SPART = knvp.SPART
)
WHERE
kna1.MANDT = '010'
AND
knvp.PARVW IN ('WE', 'AG')
AND
(
knvv.VKORG = zmbcm.VKORG
AND
knvv.VTWEG = zmbcm.VTWEG
AND
knvv.SPART = zmbcm.SPART
)
AND
kna1.loevm = ' '
AND
knvv.loevm = ' '
AND
knvp.KUNN2 IN
(
SELECT
SUBSTRING(bdcp2.tabkey, 4, 10)
FROM
R3QA6DATA.BDCP2 AS bdcp2
WHERE
bdcp2.mestype = 'DEBMAS'
AND
(
( bdcp2.tabname = 'KNA1'
AND
bdcp2.fldname IN
('NAME1'
, 'NAME2'
, 'STRAS'
, 'ORT01'
, 'REGIO'
, 'LAND1'
, 'PSTLZ'
, 'TELF1'
, 'TELFX'))
OR
( bdcp2.tabname = 'KNVP')
)
AND
(
bdcp2.cretime > STARTDATE
AND
bdcp2.cretime < ENDDATE
)
)
AND
zmbcm.STOREID = 4 ;
END
Go
Woher rufen Sie es an? KUNNR ist anscheinend keine gültige Variable zum Zeitpunkt des Aufrufs. – Charles
Ich rufe es von Aqua Data Studio .... RUFEN Sie R3QA6DATA.SP_ADDRESS_CHANGES ('1999-12-31 23:59:59', '2016-06-01 23:59:59',: KUNNR,: KUNN2, : NAME1,: NAME2,: STRAS,: ORT01,: REGIO,: PSTLZ,: LAND1,: TELF1,: TELFX,: DEFPA) GO – Don
Es erscheint unwahrscheinlich, dass Aqua das '' KUNNR'-Format für Variablen verwendet. Aber ich kenne das Produkt nicht. Sie sollten wahrscheinlich ein Tag für dieses Produkt zu Ihrer Frage hinzufügen. – Charles