Community deutschsprachiger SAS-Anwender und -Programmierer

Antworten
Dies ist eine offene Gruppe. Melden Sie sich an und klicken Sie auf die Schaltfläche „Gruppe beitreten“, um Mitglied zu werden und damit zu beginnen, Beiträge in dieser Gruppe zu veröffentlichen.
Highlighted
Occasional Contributor
Beiträge: 16
SAS über Web-Service aufrufen

Hallo,

wir wollen von unseren SAP per Web-Service auf unser SAS-DWH zugreifen.

Zur Kundennummer X sollen alle Datensätze aus Tabelle Y an SAP geliefert werden.

Mein Problem ist, dass ich weder weiß, wo ich mich einlesen kann noch wo ich anfangen soll zu suchen.

Gibt es in den unendlichen Weiten irgendwo ein paar Beispiele?

Wie muss das SAS, wie muss der Sever konfiguriert sein?

Wie sieht ein kleines Beispiel aus? Am besten mit Code.

Wir arbeiten mit SAS 9.3, es läuft auf einem Linux-Server mit Suse  SLES 11 (64 Bit). Die nötigen Module, z.B. SAS Integration Technologies, müssten in unserer Lizenz enthalten sein.

Viele Grüße,

Hans

Esteemed Advisor
Beiträge: 6.698
Re: SAS über Web-Service aufrufen

Zuerst den Stored Process Server einrichten bzw. dessen Funktion prüfen.

Über den kann man dann in der URL den Parameter an einen noch einzurichtenden Stored Process übergeben, so dass der die Liste korrekt "ausspuckt".

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Occasional Contributor
Beiträge: 16
Re: SAS über Web-Service aufrufen

Hallo,

vielen Dank für die Tipps.

Der Stored Process Server ist bei uns aktiv.

Ich kann nämlich eine Test-Seite auf unseren Server aufrufen. Der Text auf der betr. Seite geht so los:

Wilkommen zur SAS Stored Process Webanwendung Version 9. Mit dieser Anwendung können Sie SAS Stored Processes in einem Webbrowser ausführen.

Den Code der Beispiele, z.B. "Sample: Shoe Sales per Region", habe ich auf unserem Server gefunden: "stpods1.sas" im Directory /u0/sas93/SASFoundation/9.3/samples/inttech

So weit so gut. Aber wie erstelle ich einen Stored Process? Und wie mache ich den erstellten Stored Process dem Stored Process Server bekannt? Mit Macro-Programmierung kenne ich mich (sehr) gut aus, aber Stored Process ist Neuland für mich.

Wenn es etwas zum einlesen gäbe, vielleicht sogar auf deutsch, das wäre sehr hilfreich.

Viele Grüße,

Hans

Esteemed Advisor
Beiträge: 6.698
Re: SAS über Web-Service aufrufen

Mit deutscher Doku siehts eher schwach aus, zumindest online. Anlaufstelle Nr. 1 ist auf jeden Fall der Stored Process Developer's Guide: http://support.sas.com/documentation/cdl/en/stpug/62758/PDF/default/stpug.pdf. STP schreiben und dann in den Metadaten registrieren geht am besten im Enterprise Guide.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Occasional Contributor
Beiträge: 16
Re: SAS über Web-Service aufrufen

Hallo,

vielen Dank für den Link und den Hinweis auf den EG.

Bis ich die 220 Seiten gesichtet habe bin ich erst mal beschäftigt ...

Mit dem Enterprise Guide habe ich noch nicht so wirklich intensiv gearbeitet. Aber eben habe ich den Punkt "Create New Stored Process" gesehen. Also habe ich auch hier einen Punkt zum ansetzen.

Viele Grüße,

Hans

Frequent Contributor
Beiträge: 118
Re: SAS über Web-Service aufrufen

Hallo Hans,

für ihr Einsatzszenario zur Datenabfrage würde ich generell von der Verwendung von Webservices abraten. Insbesondere bei größeren Datenmengen bekommt man ziemlich schnell Probleme. Außerdem hat man noch ziemlich viel Mehraufwand, da man den Webservice schreiben muss und auch noch die Daten in das entsprechende Übertragungsformat (XML oder JSON) konvertieren muss.

Anstelle eines Webservices würde ich empfehlen die von SAS bereitgestellten Daten-Schnittstellen mit ODBC-, OleDB- oder JDBC- Treibern zu verwenden. Ich gehe davon aus, dass SAP mindestens einen der oben genannten Treiber unterstützen wird.

Die Daten lassen sich dann einfach mit SQL Syntax abfragen und auch einschränken, z.B. select * from libref.tabelle where Kundennummer = 123

Viele Grüße,

Andreas

Occasional Contributor
Beiträge: 16
Re: SAS über Web-Service aufrufen

Hallo Andreas,

danke für die Hinweise, aber ich denke für uns sind die Webservices das Richtige.

Wir wollen keine größeren Datenmengen über Webservices austauschen, mein Beispiel war vielleicht etwas irreführend, es geht eher um ca. eine halbe DIN-A4-Seite, die man lokal z.B. mit einem proc print ausgeben würde.

Außerdem geht es uns auch um das ausprobieren von Webservices zwischen SAP und SAS: Unsere IT-Azubis brauchen auf der SAP-Seite.

Viele Grüße,

Hans

Occasional Contributor
Beiträge: 16
Re: SAS über Web-Service aufrufen

Hallo zusammen,

dank der Tipps habe ich das Problem mittlerweile gelöst.

Das erstellen von Stored Processes ist wirklich einfach, man kann es sowohl mit dem SAS-EG als auch direkt mit der Management Console machen.

Etwas länger habe ich mit dem Vergeben der richtigen Berechtigungen in der Management Console gekämpft, aber letztlich hat auch das geklappt.

Als Test-Anwendung haben wir einen kleine Abfrage realisiert: SAP fragt nach den Kauf-/Positionsdaten zu Kunde 4711 und SAS bzw. unser DWH bzw. der Stored Process liefert per Proc Print eine HTML-Seite.

Der Aufruf erfolgt über die URL, z.B. diese:

http://myserver:8080/SASStoredProcess/do?_program=%2FSAS+Test-Installation%2FTestmitPrompt&kundnum=4...

Etwas länger hatte ich noch gesucht, bis man den Stored Process über den Gast-Zugang aufrufen konnte, da man sich zuvor im SAP anmelden muss sollte uns diese eine Anmeldung dort erst mal reichen.

Ein Punkt ist jetzt noch offen:

Das DWH soll einen 'echten Web-Service' anbieten und die Daten sollen als XML bei SAP ankommen, bisher wird nur HTML geliefert.

Aber dazu eröffne ich eine neue Anfrage.

Viele Grüße,

Hans