SAS

Les logiciels et les services qui vous donnent le pouvoir de savoir

ActualitéEvènementsSupport ClientsFormationAcademicEmploisContact
Accueil Produits et Solutions références Partenaires Services La Société www.sas.com
 
Support Clients
Fonctionnement
Assistance personnalisée
Contacter le Support
FAQ
Newsletter SAS France
Documents techniques
Ressources en ligne
Correctifs
 

SAS® AppDev Studio™

QUESTIONS

Installation et Déploiement
- Quelle est la dernière version d’AppDev Studio disponible ? Réponse
- Quelles versions de SAS sont supportées par la dernière version d’AppDev Studio ? Réponse
- Quelles sont les versions actuellement supportées ? Réponse
- Comment appliquer les mises à jour d’un serveur SAS pour l’utilisation d’AppDev Studio ? Réponse
- A la connexion d’AppDev Studio, vous recevez les messages suivants : Réponse
- Est-il possible de ne pas sauvegarder un projet d’AppDev 2.0 ? Réponse
- Que faire si vous recevez l’erreur : java.security.AccessControlException: access denied (java.net.SocketPermission). Réponse
- L’applet fonctionne correctement dans webAF ou webEIS mais lors de son chargement à partir du serveur web, une erreur "sun.applet.AppletSecurityException: checkread" apparaît. - Quelle en est la cause ? Réponse
- Quelles versions du JDK (Java Developpment Kit) SAS AppDev Studio 3.0 supporte t-il ? Réponse
- Quelles versions de serveurs SAS peuvent être accédées par SAS AppDev Studio ? Réponse
- Lors de l’affichage d’une table SAS dans une JSP, je souhaiterais afficher les libellés plutôt que les noms de colonnes. Réponse
- Existe-t-il un patch pour SAS AppDev Studio 3.0 ? Réponse
- Est-ce que le SASNetCopy est encore supporté ? Réponse
- Comment appliquer des formats SAS via une connexion JDBC ? Réponse

Exemples de code
JSP - Comment charger les données de la SASHELP.CLASS dans une listbox ? Réponse
- Comment se connecter à un serveur Workspace SAS9.1 via JDBC ? Réponse


Retour Haut

SOLUTIONS

Installation et Déploiement

Quelle est la dernière version d’AppDev Studio disponible ?
La dernière version d’AppDev Studio est la version 2.0. Une mise à jour 2.0.3 de cette version est disponible sur le site de SAS. Celle-ci inclut les mises à jour 2.0.1 et 2.0.2.
La mise à jour 2.0.3 est téléchargeable à l’adresse suivante : http://www.sas.com/apps/demosdownloads/appdevupdt_PROD_2.0.3_sysdep.jsp?packageID=000233

Retour Haut

Quelles versions de SAS sont supportées par la dernière version d’AppDev Studio ?
AppDev StudioTM version 2.0 fonctionne avec les versions SAS suivantes : SAS 8.2, SAS 8.1, SAS 6.12 TSO65 et SAS 6.12 TS070.

Retour Haut

Quelles sont les versions actuellement supportées ?
SAS supporte les versions 1.2 et 2.0 d’AppDev Studio.
La version 1.2 sera supportée tant que SUN supportera le JDK 1.1.8 qui est l’environnement de développement JAVA sur lequel s’appuie la version 1.2.


Retour Haut

Comment appliquer les mises à jour d’un serveur SAS pour l’utilisation d’AppDev Studio ?
Un fichier de mise à jour Appdev.cpo est disponible sur les CD d’installation d’AppDev Studio 2.0 dans le répertoire D:\SASUpdates\V8. Si vous avez installé le patch 3 sur les postes de développements le fichier de mise à jour pour les serveurs SAS se trouve dans le répertoire C:\AppDevStudio\ADS203Deployment\SASUpdates\V8

1) Procédure d’installation du fichier de mise à jour du serveur SAS pour AppDev Studio :
a) Créer un répertoire sur votre serveur SAS nommé "updates"
b) Transférer le fichier appdev.cpo vers le serveur.
c) Lancer le Système SAS
     c.1) Créer un libname qui pointe dans le répertoire nommé "updates"
     c.2) Exécuter le code SAS suivant :
libname ads20 '/vers/le/répertoire/ updates' ;
filename cpo20 '/pointe/vers/le/fichier/appdev.cpo';
proc cimport lib=ads20 infile=cpo20 ;
run ;
Ce code SAS installe les catalogues d'appdev Studio sur le serveur SAS dans le répertoire pointé par ads20.

2) Création du fichier sasv8.cfg pour ADS 2.0 :
a) Copier le fichier sasv8.cfg sur votre compte et éditer le.
b) Modification à réaliser au sein du fichier sasv8.cfg pour prendre en compte les nouveaux catalogues :
changer :
-sashelp ( '!SASROOT/sascfg' '!SASROOT/sashelp' )
en :
-sashelp ( '/path/to/appdev20' '!SASROOT/sascfg' '!SASROOT/sashelp' )

c) Enregistrer le sous sasv8-ads20.cfg par exemple. Il devra être utilisé pour que le Système SAS fonctionne correctement avec AppDev Studio 2.0. Pour tester le fichier créé, lancez le Système SAS avec ce fichier sasv8-ads20.cfg.

Il est important de déclarer en premier l'emplacement des Sas/updates dans la ligne -sashelp. Cela permet de prendre en compte les Sas/Updates de ADS 2.0 .


Retour Haut

A la connexion d’AppDev Studio, vous recevez les messages suivants :

com.sas.net.server.RemoteSasException:RemObj.R20.ex.txt:Impossible de créer l’instance à distance
ou
ERROR: Unable to load CLASS entry prodauth.CLASS

Ces erreurs sont liées à la non mise à jour de votre serveur SAS. Pour le mettre à jour nous vous invitons à vous reporter à la Faq : Comment appliquer les mises à jour d’un serveur SAS pour l’utilisation d’AppDev Studio ?

Retour Haut

Est-il possible de ne pas sauvegarder un projet d’AppDev 2.0 ?
Cette fonctionnalité n’est pas disponible avec la version 2.0.
L’alternative qui vous est proposée, est d'utiliser les archives de votre projet qui sont générées dans le répertoire de votre projet.


Retour Haut

Que faire si vous recevez l’erreur : java.security.AccessControlException: access denied (java.net.SocketPermission).

Ceci est du à une nouvelle architecture de la sécurité du Java 1.2.
Pour que votre applet puisse établir une connexion, la ligne
permission java.security.AllPermission;*
doit être rajouter dans le fichier C:\Program Files\JavaSoft\JRE\1.3.0_01\lib\security\Java.policy.

Pour plus d’informations vous pouvez vous reporter au site JAVA : http://www.javasoft.com


Retour Haut

L’applet fonctionne correctement dans webAF ou webEIS mais lors de son chargement à partir du serveur web, une erreur "sun.applet.AppletSecurityException: checkread" apparaît. Quelle en est la cause ?

Dans une grande majorité des cas cela provient des images, qui sont référencées de façon absolue (c:\chemin\image.gif) et non relative. Une référence relative est "image.gif" afin que l'applet charge l'image à partir du serveur Web ou du fichier archive (jar). L’applet ne peut pas référencer une de ces ressources de façon absolue (principe de sécurité des applets).

Par exemple, si l'applet se trouve dans le répertoire "c:\inetpub\wwwroot\applet", vous pouvez référencer l’image de l’une de ces façons:
- Soit mettre l'image dans le même répertoire que l’applet. L’applet utilisera alors l'information référencée par l'instruction "CODEBASE" de la page html pour savoir où rechercher l’image (voir exemple qui suit).

- Soit intégrer l'image dans le fichier JAR utilisé par l'applet lors de la génération de ce fichier dans webAF ou webEIS.

Exemple de code HTML :
<APPLET CODE="applet.class" CODEBASE="http://www.server.fr/applets” WIDTH=480 NAME="applet" HEIGHT=360 ARCHIVE="applet.jar" >
<PARAM NAME="ARCHIVE" VALUE="applet.jar">
<PARAM NAME="CODE" VALUE="applet.class">
</APPLET>
L’applet cherchera « image.gif » dans l’emplacement pointé par l’url spécifiée dans CODEBASE.


Retour Haut

Quelles versions du JDK (Java Developpment Kit) SAS AppDev Studio 3.0 supporte t-il ?

Les versions 1.4.x et 1.3.x du JDK sont supportées avec SAS AppDev Studio 3.0. Par défaut SAS AppDev Studio utilise la dernière version de JDK installée sur le poste de développement.

Néanmoins, vous pouvez spécifier la version que vous souhaitez utiliser à l’aide d’une option de ligne commande : -jdkversion.

Par exemple :
webaf.exe –jdkversion 1.4


Retour Haut


Quelles versions de serveurs SAS peuvent être accédées par SAS AppDev Studio ?

Les applications créées avec SAS AppDev Studio 3.0 permettent d’accéder aux serveurs SAS 8.2 et SAS 9.1. SAS AppDev Studio 3.0 ne supporte désormais plus l’accès aux serveurs SAS 6.12.

Est-ce que le SASNetCopy est encore supporté ?
Avec SAS AppDev Studio 3.0, SASNetCopy n’est plus supporté. Il est définitivement remplacé par le JSASNetCopy. Toutes les possibilités du SASNetCopy sont disponibles avec le JSASNetCopy qui, de plus, est plus robuste et permet un déploiement plus aisé que son prédécesseur.

WebAF et WebEIS convertissent automatiquement un projet qui utilisait SASNetCopy en JSASNetCopy lorsqu’il est migré en SAS AppDev Studio 3.0.

Existe t-il un document décrivant le processus de migration vers SAS AppDev Studio 3.0 ?
Oui, il existe un document disponible à l’adresse suivante :
http://support.sas.com/rnd/appdev/doc/ADS3Migration.pdf

 


Retour Haut


Lors de l’affichage d’une table SAS dans une JSP, je souhaiterais afficher les libellés plutôt que les noms de colonnes.

La méthode qui permet ce comportement est la suivante :
setColumnInfoUsed("LABEL") ;

Cette méthode s’applique sur le DataSetInterface utilisé.
Par exemple :



Retour Haut

Existe-t-il un patch pour SAS AppDev Studio 3.0 ?

Oui il existe une mise à jour (3.1.3) pour SAS AppDev Studio 3.0.
Télécharger la mise à jour 3.1.3

 


Retour Haut

Est-ce que le SASNetCopy est encore supporté ?

Avec SAS AppDev Studio 3.0, SASNetCopy n’est plus supporté. Il est définitivement remplacé par le JSASNetCopy.
JSASNetCopy conserve toutes les possibilités du SASNetCopy.
WebAF et WebEIS convertissent automatiquement un projet qui utilisait SASNetCopy en JSASNetCopy lorsqu’il est migré en SAS AppDev Studio 3.0.


Retour Haut

Exemples de code

JSP - Comment charger les données de la SASHELP.CLASS dans une listbox ?
Afin que cette JSP fonctionne, un Spawner doit être démarré sur le port 2323 et toutes les classes SAS (situées dans C:\AppDevStudio\Java\SAS\ext et C:\AppDevStudio\Java\Misc) doivent être copiées dans le répertoire LIB\EXT du JDK.

<html>
<head >
<title>Exemple FAQ</title>
</head>
<body >


<%
// La première étape est d'importer les package JAVA utile pour créer nos objet
// ou appliquer des méthodes
%>

<%@ page import="java.util.*"%>
<%@ page import="com.sas.servlet.beans.*" %>
<%@ page import="com.sas.rmi.*" %>
<%@ page import="com.sas.collection.*" %>
<%@ page import="com.sas.sasserver.*" %>


<%
// Mise en place de la connexion SAS
// La connexion se fait sur localhost sur un Spawner CONNECT à l'écoute sur le port 2323

com.sas.rmi.Rocf rocf = new com.sas.rmi.Rocf();
com.sas.rmi.Connection connection = new com.sas.rmi.Connection();
connection.setServerArchitecture("PC");
connection.setHost("localhost");
connection.setPort(2323);
connection.setCommand("sas -dmr -comamid tcp -noterminal -cleanup ");
connection.setInitialStatement("libname APPL 'f:\\frafpo\\appl\\';" );


// Création d'un objet DataSetInfoInterface

String dsname="SASHELP.CLASS";
com.sas.sasserver.datasetinfo.DataSetInfoInterface dinfo = (com.sas.sasserver.datasetinfo.DataSetInfoInterface)
rocf.newInstance(com.sas.sasserver.datasetinfo.DataSetInfoInterface.class, connection);
dinfo.setDataSet(dsname);


// Création d'une collection

int comp = dinfo.getVariableIndex("NAME");
com.sas.collection.StringCollection collect = new com.sas.collection.StringCollection(dinfo.getVariableUniqueValues( comp ));


// Création de la liste Box, on spécifie qu'elle affichera 8 items à la fois

com.sas.servlet.beans.ListboxInterface listbox =new com.sas.servlet.beans.html.Listbox();
listbox.setSize(8);


// Application du Model

listbox.setModelInterface(collect);


// Attribution d'un nom au ListBox

listbox.setName("com");


// Affichage du listbox à l'écran

listbox.write(out);


// Fermeture de la connexion SAS

rocf.stop();
%>


</body>
</html>


Retour Haut

Comment se connecter à un serveur Workspace SAS9.1 via JDBC ?

Voici un exemple de JSP permettant de se connecter à Serveur d’espace de travail (Workspace) 9.1 via JDBC (Java DataBase Connectivity)

<%@page import="com.sas.iom.WorkspaceConnector"%>
< %@page import="com.sas.iom.WorkspaceFactory"%>
< %@page import="com.sas.iom.SAS.IWorkspace"%>
< %@page import="com.sas.iom.SAS.IDataService"%>
< %@page import="java.util.Properties"%>
< %@page import="java.sql.Connection"%>
< %@page import="java.sql.Statement"%>
< %@page import="java.sql.ResultSet"%>
< %@page import="java.sql.SQLException"%>
< %@page import="com.sas.rio.MVAConnection"%>

< %

try {

Properties iomServerProperties = new Properties();
iomServerProperties.put("host","pcdel070");
iomServerProperties.put("port","8591");
iomServerProperties.put("userName","sasadm");
iomServerProperties.put("password","saspw1");
Properties[] serverList = {iomServerProperties};

WorkspaceFactory wFactory = new WorkspaceFactory(serverList,null,null);
WorkspaceConnector connector = wFactory.getWorkspaceConnector(0L);
IWorkspace workspace = connector.getWorkspace();


IDataService rio = workspace.DataService();
Connection sqlConnection = null;
sqlConnection = new MVAConnection(rio,new Properties());

Statement stmt = sqlConnection.createStatement () ;

ResultSet rs = stmt.executeQuery("select * from sashelp.class where sex contains 'F' ;") ;

while (rs.next()) {
String nom = rs.getString ("NAME") ;
out.print (nom) ;
out.print("<BR>") ;
}

sqlConnection.close();
wFactory.shutdown();
connector.close();

}
catch (SQLException e) {
out.println("Exception while establishing connection: " + e.toString()); }

%>

Cliquez ici pour en savoir plus.


Retour Haut

Comment appliquer des formats SAS via une connexion JDBC ?

Le code suivant doit vous permettre de réaliser cette opération :

java.util.Properties fmt = new java.util.Properties( );
fmt.put( "librefs", "Test 'C:\\frafpo'; library 'C:\\frafpo'" );
fmt.put( "applyformats","true" );
sas_JDBCConnection.setConnectionInfo( fmt );

Retour Haut

 

Customer Support Center
Correctifs
SAS notes
Documentation
Install Center
Forums de discussion
Demandes d’améliorations

Contactez-nous

Le support est accessible du lundi au vendredi de 9h00 à 17h30 (17h00 le vendredi).

• par e-mail : support@sas.com
• par téléphone : 01 60 62 12 12

Pour toute remarque sur le support : tcsfaq@fra.sas.com
The Power to Know
 Recherche   Données Personnelles   Mentions légales   Privacy Statement   Copyright 2008 SAS Institute Inc. All Rights Reserved