Hallo Liebe Community,
ich versuche gerade einen Stored Process mit Parametern über PROC STP auszuführen. Bei der Übergabe von Parametern bekomme ich allerdings Fehler in %_eg_WeherParam Macro (bzw. mit PROC SQL) , welche ich bis jetzt nicht lösen konnte. Hier ist der Quellcode:
Stored Process:
DATA WORK.INPUT;
INFILE datalines;
INPUT location_id location_name : $11.;
datalines;
1 LOCATION_01
2 LOCATION_02
3 LOCATION_03
4 LOCATION_04
5 LOCATION_05
;;
RUN;
PROC SQL NOPRINT;
CREATE TABLE WORK.TEST AS
SELECT * FROM WORK.INPUT WHERE
%_eg_WhereParam(location_id, location, IN, TYPE=N )
;
RUN;
PROC REPORT DATA=WORK.TEST;
RUN;
Der Parameter "Location" ist in einer statischen Liste definier (multiple values).
Und hier Mein EG-Programm, welches den Stored Process ausführt:
PROC STP PROGRAM="/User Folders/..../SandBox"
INPUTPARAM LOCATION="1" LOCATION="2";
RUN;
Wenn ich es so ausführe, klappt alles, aber wenn ich nur ein Parameter übergebe kommt eine Fehlermeldung aus dem %eg_WhereParam Macro:
PROC STP PROGRAM="/User Folders/..../My Folder/SandBox"
INPUTPARAM LOCATION="1";
RUN;
Fehelermeldung:
07 %_eg_WhereParam(location_id, location, IN, TYPE=N )
ISIN=("IN" = "IN")
MPRINT(_EG_WHEREPARAM): location_id IN 1
NOTE 139-205: Line generated by the macro function "UNQUOTE".
207 1
-
22
ERROR 22-322: Syntax error, expecting one of the following: (, SELECT.
NOTE: Line generated by the macro function "UNQUOTE".
207 1
Auch folgender Code führt zum gleichen Fehler:
PROC STP PROGRAM="/User Folders/..../My Folder/SandBox"
INPUTPARAM LOCATION;
RUN;
Hat jemand eine Idee woran es liegen könnte?
... View more