Grafische Oberfläche - wie?

Hallo Leute!

Ich habe mittlerweile eine ganze Erhebung umgestellt, von der Erhebungsvorbereitung bis zur Auswertung. Da die Anzahl der Programme, Datenbanken, etc. sehr hoch ist, möchte ich den Kollegen nicht zumuten, immer das passende Programm rauszusuchen, den gewünschten Wert in den Code einzugeben, etc. Wie könnte man eine grafische Oberfläche erstellen, über die die Anwender verlinkte Programme starten bzw. vorher Werte an SAS weiter geben könnten? Geht es evtl. über VB/VBA? Für die Access-Datenbanken habe ich eine schöne Oberfläche erstellt, aber VBA und SAS verstehen sich wahrscheinlich nicht!? ;-) Wie sieht's mit Java aus? Oder geht das sogar mit SAS-Bordmitteln (SAS-PC 9.1.3)? Auf Großrechnerebene kamen früher ISPF bzw. REXX zum Einsatz.

Die SAS Online Doc zu

Die SAS Online Doc zu %window kenne ich natürlich schon, ich hätte aber gerne ein Beispiel mit einem interaktiven Fenster. Ich nehme an, dass für jedes Programm ein Fester erstellt werden muss, richtig? Eine "zentrale" GUI wäre also nicht vorhanden!?

Das Starten von SAS-Programmen bzw. die Weitergabe von Code und Parametern über VBA funktioniert einwandfrei. Leider weiß ich nicht, wie ich die Fehlermeldungen abfangen soll. Evtl. das Logfile mittels VBA nach "ERROR" durchsuchen? Oder mit Hilfe von SAS die Verarbeitung unterbrechen bei Auftreten von Fehlern (aber wie?)!?

Achja, möglicherweise muss ich auch auf Programme zugreifen, die sich auf einem UNIX-Server befinden. Da hilft nur noch %window, oder?

Bsp %window

eine zentrale GUI wird mit %window nicht möglich sein
eher ein paar Eingabehilfen für verschiedene Programme

%window pwd color=cyan
#5 @15 'Bitte geben Sie das Passwort ein!' attr=highlight
color=blue
#7 @15 "PASSWORT : " DBPWD 12 attr=highlight
color=blue

#20 @29 'Press ENTER to continue.';
%display pwd;

Java geht auf jeden Fall (und zwar sehr gut)

Hallo,

für die Anbindung an die Java-Welt gibt es von SAS ein eigenes Tool, das AppDev Studio (mittlerweile als Plugin für die Eclipse-Plattform erhältlich). Damit kann man über IOM recht komfortabel auf SAS-Datasets zugreifen bzw. SAS-Programme mit Parametern versehen und anstoßen. Auf die Client-Seite kann man dann entweder eine eigene Swing-Anwendung setzen oder sich mit JSP ein Web-Frontend basteln (dafür bringt das Appdev Studio auch schon nette Taglibs mit, mit denen man mit wenig Aufwand einen kompletten Dataset auf seiner Webseite ausgeben kann).

Außerdem gab es unter SAS 8.2 die SAS/IntrNet-Technologie, mit der man über einen Webserver (HTTP) ein SAS-Programm aufrufen konnte, was dann wiederum eine HTML-Seite als Ergebnis ausspuckt. Diese Technologie wurde meines Wissens nach in SAS 9 durch die Stored Processes abgelöst - damit habe ich aber noch keine Praxiserfahrung. Vielleicht kann da jemand anders weiterhelfen.

AF und %window entsprechen vielleicht vom Stil her nicht mehr unbedingt dem, was man heutzutage von einer grafischen Oberfläche gewöhnt ist... :-)

Gruß
- MH -

%window

klar entspricht es nicht mehr dem Stil...,
entgegen den Modulen AF INTRNET und appDev ist es aber in BASE enthalten und kostet nichts extra-
für eine kleine Anwendung kann man es also immer noch ganz gut nutzen.

%window

Schade, dass ich dass %window erst jetzt "entdecke" (dank an Redscope !!!).
Auch bei uns gilt:

  • klar entspricht es nicht mehr dem Stil..., entgegen den Modulen AF INTRNET und appDev ist es aber in BASE enthalten und kostet nichts extra - für eine kleine Anwendung kann man es also immer noch ganz gut nutzen

Dem ist noch hinzuzufügen: Wir hatten bei SSI mit dem AF experimentiert, wurden aber im Client-/Server-Umfeld von der (damaligen) Performance dermaßen enttäuscht, dass wir dieses Thema schleunigst ad acta gelegt hatten. Von dem Installations- und Pflege-Aufwand bei jedem Nutzer ganz zu schweigen.
Stattdessen nutzen wir jetzt, noch steinzeitlicher(!), einen direkten Zugriff via telnet.exe (ist als Standard-Tool bei jedem Windows dabei) und führen die User in einem Shell-Script-Menü zum Ziel. Optisch ist das noch steinzeitlicher als zu MS-DOS-Zeiten, da ist die %window-Variante richtig fortschrittlich dagegen! Aber leider zu spät und ... SAS-Base/-Connect wäre auf jedem PC nötig, während unsere telnet-Lösung kein SAS auf dem PC benötigt und deshalb auch ohne SAS-PC-Lizenz auskommt (nicht ganz unwichtig). Siehe auch: SSI und SAS.
Gruß
Hans Kneilmann, Schäfer Shop GmbH (SSI)

Ich habe leider nur SAS Base

Ich habe leider nur SAS Base und einige unwichtigere Module installiert, also SAS/AF kann ich vergessen. Zu %window finde ich leider kaum was, Google findet alles, was im Entferntesten mit Fenstern zu tun hat. Können die %window-Fenster "interaktiv" gestaltet werden? Kann man Parameter übergeben?

Diese Lösung (s.u.) gefällt mir, hat jemand Erfahrungen damit?

http://www2.sas.com/proceedings/sugi30/toc.html (Paper 044-30: Rubin Nan, David Mullins; A Microsoft Access GUI for SAS Automation)

%window

Mit %window können Parameter übergeben werden und man kann sie über Makro's auch interaktiv gestalten.

Der von Ihnen empfohlene Artikel ist interessant!

Wirklich interessanter Artikel: Convert SAS Log Into SAS Source

Hallo,
was beim redscope lesen immer so "abfällt" ...

Ist ab 13.08.2007, 10:00 ein eigener Forums-Beitrag: Convert SAS Log Into SAS Source, siehe hier.
Gruß
Hans Kneilmann, Schäfer Shop GmbH (SSI)

SAS Online Doc zu %WINDOW

IOM-Bibliotheken

Die Bibliotheken des Integrated Object Model von SAS (IOM) stehen zur Verfügung, um Anwendungen, die mit VB, VBA oder VB.NET geschrieben wurden, den Zugriff auf SAS-Funktionalität zu erlauben. Viele Papers, Referenzdokumentationen und Beispiele stehen auf der SAS-Supportseite zur Verfügung.

Wenn SAS auf dem Arbeitsplatz installiert ist, können Oberflächen auch mit SAS/AF erstellt werden. Allerdings habe ich gehört, dass der Support hierfür wohl in absehbarer Zweit eingestellt wird. In SAS9.1 geht es wohl noch.

%window ,, dde

über %window könnte man in SAS einfache Eingabemasken programmieren, vielleicht würde das ja schon reichen?

SAS kann über dde VBA-Programme aufrufen interessante Artikel dazu hat Herr Koen Vyverman geschrieben--diese Artikel können Sie im Internet finden.

Interessante Seite

Wenn die Seite gerade erreichbar wäre, dann hätte ich mir jetzt zuerst den Inhalt angeschaut. Gleichwohl: Alan Churchill ist ein weitherum anerkannter Experte (der wahrscheinlich eine .NET Lösung empfehlen würde), was auch im Motto "Bridging SAS and Microsoft Technologies" seiner Firma Savian zum Ausdruck kommt.

Darum - sobald wieder verfügbar - unbedingt mal bei
www.savian.net reinschauen. Demos und Anwendungsbeispiele vorhanden.

PS: bin in keinster Weise geschäftlich mit Alan verbunden. Als klassischer Mainframer sogar sehr oft auf der argumentativ anderen Seite. Aber: Ehre, wem Ehre gebührt!

PPS: habe Alan eine Notiz gemailt. Hoffe sie landet nicht in seinem Spam-Folder.

Nachtrag von 13:40 Uhr.

Die Site ist wieder verfügbar. Beispiele finden sich unter
samples.savian.net

Robert Bardos
Ansys AG