Publié le :
Reporting CREATION_INTERNE

Génération d'une page HTML interactive avec JavaScript

Ce code est également disponible en : Deutsch English Español
Le script est un SAS© Stored Process conçu pour être exécuté via un serveur web. Il produit une page HTML complète qui contient du code JavaScript pour gérer l'ouverture et la fermeture d'une fenêtre pop-up en réponse à diverses actions de l'utilisateur (survol, clic, double-clic). La fenêtre pop-up elle-même tente de charger un autre Stored Process. De plus, le script décode et affiche les cookies HTTP envoyés par le client. L'ensemble est encapsulé pour fonctionner dans l'environnement des Stored Processes SAS© 9 ou Viya, en utilisant la destination de sortie _webout.
Analyse des données

Type : CREATION_INTERNE


Le contenu principal (code HTML et JavaScript) est généré directement dans le script via une étape DATA _NULL_ avec des données en ligne (instruction CARDS4). Il utilise également la macro-variable d'environnement '_htcook' pour récupérer les cookies du client, qui est une source externe fournie par le serveur d'application SAS.

1 Bloc de code
DATA STEP
Explication :
Cette étape DATA _NULL_ utilise la destination de sortie spéciale '_webout' pour commencer à générer une page HTML. Le code HTML et JavaScript, qui est lu comme des données en ligne via l'instruction CARDS4, est écrit directement dans le flux de sortie web. Le JavaScript inclus gère des événements utilisateur (clics, mouvements de souris) pour ouvrir et fermer une fenêtre pop-up.
Copié !
1DATA _null_ ;
2 INPUT ;
3 file _webout ;
4 put _infile_ ;
5cards4 ;_card_content_;
6;;;;
7RUN ;
2 Bloc de code
DATA STEP
Explication :
Cette deuxième étape DATA _NULL_ continue d'écrire sur la sortie '_webout'. Elle ajoute un titre pour une section de cookies, décode et affiche le contenu de la macro-variable de Stored Process '_htcook' (qui contient les cookies du navigateur), puis ferme les balises HTML de la page.
Copié !
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 Bloc de code
Macro
Explication :
Les macros %STPBEGIN et %STPEND sont des marqueurs utilisés par le framework des SAS Stored Processes pour délimiter le code à exécuter. La ligne de code qui suit est une technique de programmation défensive pour assurer la bonne terminaison des appels macro dans n'importe quel contexte.
Copié !
1%STPBEGIN;
2%STPEND;
3*';*"*/;RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.