Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2011, 18h13   #1
Invité de passage
 
Homme
Développeur informatique
Inscription : mars 2011
Messages : 24
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2011
Messages : 24
Points : 3
Points : 3
Par défaut Réparation de table sas indéxé dont le fichier index supprimé

bonjour

je travaille avec sas V6 sous l'environement VM mainframe , j'ai des tables indéxés dont les utilisateurs on supprimé les fichiers indexe, par consequence je ne pourais pas générer un fichier de transport pour ces table avec la proc CPORT
manuelement j'ai la posibilité de réparer la table ( sas recré le fichier index )
comme j'ai beaucoup de table dans ce cas de figure, il faux que je cherche un moyen de le faire par programme
quelqu'un a il une solution


merci pour votre aide
reznac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 18h41   #2
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
Bonjour,
pourquoi utilises tu la proc cport?

la proc import ne suffit pas ?

tu veux juste transférer les tables et index ?
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 11h26   #3
Membre du Club
 
Homme
Inscription : septembre 2009
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2009
Messages : 60
Points : 52
Points : 52
Bonjour,

Avec une proc datasets; repair. Les indexs manquants devraient être automatiquement recréés, non !?
wise2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 13h51   #4
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
Oui c'est faisable. Maintenant reste à savoir si reznac à plusieurs biblio, car le fonctionnement VM/CMS n'est pas le même que Windows ou Unix.

Sous VM on n'a pas le libre choix quand au nom de la biblio et c'est obligatoirement le FILEMANE (VM) qu'il faut mettre comme nom de biblio.

Maintenant pour automatiser la tâche en utilisant la PROC DATASETS pour réparer les tables. Je te propose ce petit programme qui permet la réparation de toutes les tables (d’au moins celles qui nécessite une réparation.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
%macro reparer;
	%LOCAL nbr i;
 
	/* La ligne qui suit permet de récuperer le contenu du disque K ( à changer si t'as un autre nom de disque) */
	%cms listf  *    SAS  K ( exec format;
 
 
	DATA  tab_sas  ;
 
	INFILE "cms exec a"  dsd missover ;
 
	@8    tab         $ 8.
	@17   lib         $ 8.
	@26   disc        $ 1.
	@37   longueur    $ 4.
	;
	/* ici on ne  récupère que les tables SAS (les libname), sous VM/CMS les les tables SAS ont un  LRECL=1024 */
	IF longueur = '1024' then output ;
		run;
 
	DATA _null_;
	SET tab_sas end=eof;
 
	IF eof then do;
		call symput ( 'nbr' , _n_);
	call symput ('table'!!LEFT(_n_), tab);
	call symput ('libre'!!LEFT(_n_),lib);
	end;
	run;
 
 
	%do i=1 %TO &nbr.;
 
 
	proc datasets lib=&&libre&i;
	repair &&table&i ;
	quit;
	run;
 
	%end;
%mend;
 
%reparer;
Par contre je ne compernds pas pourquoi veux-tu utiliser la proc CPORT

Bon courage.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/04/2011, 15h51   #5
Invité de passage
 
Homme
Développeur informatique
Inscription : mars 2011
Messages : 24
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2011
Messages : 24
Points : 3
Points : 3
ça marche bien,
la proc cport, je l'utilise pour générer des fichier de transport, je les met dans un serveur FTP sur MVS , afin que je les récupére coté Unix et avec la proc CIMPORT je reconstitu les table d'origines


merci bien S A M
reznac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 16h00   #6
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
Nacir, la proc CPORT est Inutile dans ce cas.

Avec un fichier scr ( script de connexion)tu pourra établir une connexion de Unix vers VM/CMS ou MSV et importer tout ce que tu veux avec une proc donwload.
Maintenant il faut faire attention à la transcodification et à la gestion des caractères spéciaux quand à ce type de transfert entre systèmes.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h23.


 
 
 
 
Partenaires

Hébergement Web