Citation Envoyé par benoitbrisefer
Bonjour,

Je voulais savoir s'il est possible de lancer un programme SAS en batch ?
C'est à dire, exécuter un programme SAS sans devoir lancer SAS Local Report puis ouvrir le programme SAS et enfin l'exécuter.
J'aimerais pouvoir tapez une commande DOS du style : C:\>SAS MyProgram.SAS
Quelqu'un a une idée ?
Merci d'avance.
Citation Envoyé par alexd
bonjour,

En UNIX c'est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<chemin_physique_du_produit>/sas -sysin <chemin_du_pgm>/MyProgram.sas
A mon avis c'est la même chose sous Windows.
Et tu peux rajouter d'autres options comme l'enregistrement de ta log et de ton output :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<chemin_physique_du_produit>/sas -sysin <chemin_du_pgm>/MyProgram.sas -log <chemin_de_la_log>/Malog.log -print <chemin_ouput>/MaOutput.lst
En espérant que ça marche sur Win aussi...
Citation Envoyé par wizou44
Bonjour,

C'est la même syntaxe sous windows, j'ai déjà utilisé cette façon de procédé pour un de mes programmes.

sympa cette fonction d'enregistrement de l'output : ça peut toujours servir.
Citation Envoyé par boussata
Pourriez vous nous expliquer par un exemple précis.

merci
Citation Envoyé par wizou44
bonjour,

voici pour exemple, le programme que j'avais utilisé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
D:\apps\SAS\SAS 9.1\sas.exe -sysin P:\essai.sas -log P:\log_essai.txt
La première partie (en bleu) va chercher l'éxécutable du logiciel SAS (ici dans mon disque D).
La seconde partie (en vert) va chercher le programme sas que tu veux utiliser (ici mon fichier essai.sas dans mon disque P).
La dernière partie (en rouge) donne le chemin et le nom dans lequel il va enregistrer le log de ton programme (ici sauvegarder sous le nom log_essai dans mon disque p) (se fait de la même façon pour l'output (sortie) mais avec .lst).

Tu écris cette ligne de programmation dans un fichier texte (dans un simple éditeur comme notepad) que tu enregistre en .bat

J'espère avoir répondu à ta question. Si tu as toujours un problème, n'hésite à re-demander des précisions.
[quote="sasufi"]Bonjour,

Très interessant effectivement, mais j'aurais besoin d'une petite précision. Quand je souhaite executer une interface SAS/AF rattachée à plusieurs macro sas que dois-je mettre dans mon fichier .bat ?


Merci.
[quote]
Citation Envoyé par olivier.decourt
Bonjour.
Dans le .BAT, il n'y a que la ligne indiquée par Wizou et les autres posteurs. Par contre, lancer AF est un peu différent des autres batches. Au lieu de -SYSIN pour lancer un programme, je préfère utiliser -INITCMD pour lancer l'application, et ensuite lancer du code SAS depuis l'étiquette INIIT de la 1e Frame.
Donc, on peut dire que dans le .BAT (mais ça pourrait aussi être dans le champ "raccourci" d'un icone sur le bureau), on a ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
c:\sas\sas.exe -INITCMD "AF C=bib.cat.nomFrame.FRAME" -AUTOEXEC "c:\...\mon_autoexec_af.sas" -CONFIG "...\mon_config.cfg"
Et dans ton appli AF (étiquette INIT), tu ajoutes les morceaux de programme SAS qui ne seraient pas dans ton Autoexec.
Olivier
Citation Envoyé par sasufi
Bonjour,

Impeccable ca marche plutôt pas mal même dans un raccourcis comme tu as dis.
Cependant j'aurais aimer que la frame SAS/AF se lance en plein écran dans SAS. J'ai cru comprendre que c'était une histoire de "resource" dans laquelle on peut définir entre autre la taille de la fenêtre... Pouvez-vous m'éclairer un peu sur le sujet ?

Et un autre point en rapport avec l'affichage de la frame : bien que ayant definit la longueur et la largeur de la frame dans ses propriétés il y a toujours une sorte de fenêtre globale en dessous d'une taille qui ne semble pas définissable. Lors de l'execution cette "sous-frame" est toujours présente et celà fait apparaitre des scroll-bar verticale et horizontale totalement inutiles.
En bref, est-il possible de restreindre l'affichage de la frame SAS/AF uniquement à la frame que j'ai proprement definit ?

Désolé pour la lecture et merci d'avance.