Frage

Ich habe eine SAS-Anwendung, die ich mit dem neu veröffentlichten SAS 9.2 am Testen. Ich habe einen Anruf an die metadat_newobj Funktion ein neues Bibliothek Objekt in der SAS-Metadaten-Repository zu erstellen:

rc = metadata_newobj( "SASLibrary", URI, Name );

In 9.1.3, wenn die erfolgreich ausgeführte Funktion (rc = 0), der URI Variable wurde mit dem URI des neu erstellten Bibliothek Objekts ausgefüllt.

SAS 9.2, obwohl der Rückgabewert 0 (erfolgreich) und die Bibliothek-Objekt nicht erstellt (ich manuell überprüft die Verwaltungskonsole verwenden), die URI Variable bleibt leer, so alle nachfolgenden Operationen Attribute usw. einstellen fehlschlagen.

Die Dokumentation für beide Versionen listet URI als Ausgabeparameter dieser Funktion.

Hat jemand irgendwelche Kenntnisse davon?

EDIT: Der Code war ich mit ist wie folgt:

put libraryName=;
rc = metadata_newobj("SASLibrary", libraryUri, libraryName);
if rc ne 0 then do;
  /* Error handler */
  return;
end;
put libraryUri=;

und die Ausgabe:

libraryName=HRLIB10
libraryUri=

Ich versuche stattdessen, um dieses mit PROC METADATA zu arbeiten, was zu funktionieren scheint. : \

EDIT # 2:. Ich habe erkannt, dass ich nicht erwähnt habe, dass dies innerhalb SCL-Code ist

War es hilfreich?

Lösung 2

Ich habe nichts gefunden, das metadata_newobj in der neuen Version geändert hatte vermuten läßt. Es ist jedoch weigerte sich nur für mich zu arbeiten. So konvertierte ich meine Funktionen PROC METADATA zu verwenden und jetzt funktioniert es in SAS 9.1.3 und SAS 9.2

Danke alle.

Andere Tipps

Es funktionierte für mich. Am Beispiel gab dir würde ich vorschlagen Anführungszeichen Name setzen. Vielleicht auch eine Längenangabe zur Einrichtung uri verwendet vor dem Ausführen metadata_newobj. Ansonsten im Interesse des Teilens, lassen Sie uns wissen, wenn Sie es mit einer anderen Technik gelöst bekommen.

Hier ist, was ich lief:

data _null_;
    length uri $256;
    rc=0;
    rc=metadata_newobj("SASLibrary",
                       uri,
                       "testlib");
    put uri=;
run;

Hier ist mein log:

NOTE: Variable uri is uninitialized.
uri=OMSOBJ:SASLibrary\A5M6IOB0.AZ000007
NOTE: DATA statement used (Total process time):
      real time           0.07 seconds
      cpu time            0.01 seconds
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top