Veröffentlicht am :
Reporting CREATION_INTERNE

Erstellung einer interaktiven HTML-Seite mit JavaScript

Dieser Code ist auch verfügbar auf: English Español Français
Das Skript ist ein SAS© Stored Process, der für die Ausführung über einen Webserver konzipiert ist. Es erzeugt eine vollständige HTML-Seite, die JavaScript-Code enthält, um das Öffnen und Schließen eines Pop-up-Fensters als Reaktion auf verschiedene Benutzeraktionen (Mouseover, Klick, Doppelklick) zu verwalten. Das Pop-up-Fenster selbst versucht, einen anderen Stored Process zu laden. Darüber hinaus dekodiert und zeigt das Skript die vom Client gesendeten HTTP-Cookies an. Das Ganze ist so gekapselt, dass es in der SAS© 9 oder Viya Stored Process Umgebung funktioniert, unter Verwendung des _webout-Ausgabeziels.
Datenanalyse

Type : CREATION_INTERNE


Der Hauptinhalt (HTML- und JavaScript-Code) wird direkt im Skript über einen DATA _NULL_-Schritt mit Inline-Daten (CARDS4-Anweisung) generiert. Es verwendet auch die Umgebungs-Makrovariable '_htcook', um die Client-Cookies abzurufen, die eine externe Quelle ist, die vom SAS-Anwendungsserver bereitgestellt wird.

1 Codeblock
DATA STEP
Erklärung :
Dieser DATA _NULL_-Schritt verwendet das spezielle Ausgabeziel '_webout', um eine HTML-Seite zu generieren. Der HTML- und JavaScript-Code, der als Inline-Daten über die CARDS4-Anweisung gelesen wird, wird direkt in den Web-Ausgabestrom geschrieben. Das enthaltene JavaScript verwaltet Benutzerereignisse (Klicks, Mausbewegungen), um ein Pop-up-Fenster zu öffnen und zu schließen.
Kopiert!
1DATA _null_ ;
2 INPUT ;
3 file _webout ;
4 put _infile_ ;
5cards4 ;_card_content_;
6;;;;
7RUN ;
2 Codeblock
DATA STEP
Erklärung :
Dieser zweite DATA _NULL_-Schritt schreibt weiter in die '_webout'-Ausgabe. Er fügt einen Titel für einen Cookie-Bereich hinzu, dekodiert und zeigt den Inhalt der Stored Process-Makrovariable '_htcook' (die die Browser-Cookies enthält) an und schließt dann die HTML-Tags der Seite.
Kopiert!
1DATA _null_ ;
2 file _webout ;
3 put '<h1>Cookies</h1>' ;
4 htcook=htmldecode("&_htcook") ;
5 put htcook ;
6 put '</body>' ;
7 put '</html>' ;
8RUN ;
3 Codeblock
Macro
Erklärung :
Die Makros %STPBEGIN und %STPEND sind Marker, die vom SAS Stored Process Framework verwendet werden, um den auszuführenden Code abzugrenzen. Die folgende Codezeile ist eine defensive Programmiertechnik, um die korrekte Beendigung von Makroaufrufen in jedem Kontext zu gewährleisten.
Kopiert!
1%STPBEGIN;
2%STPEND;
3*';*"*/;RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.