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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| %macro export_vers_excel(tab_in=,fic_out=,sheet_out=);
data _&tab_in(keep=&var_commune);
retain &var_commune;
set &tab_in;
run ;
/* En cas d'utilisation Stored Process
data mylib.&sheet_out ; set _&tab_in; run ; */
data &tab_in._out(drop=col_vide1);
set TABTEMP_2_2_1
_&tab_in;
run ;
%export_fichier(
server=&PCFILESERVER,
lib_dep=work,
fic_dep=&tab_in._out,
chem_arr=&chemin_arr,
fic_arr=&fic_out, /* nom du fichier arrive */
tab_out=&sheet_out, /* nom table access ou feuil excel */
dbms=excelcs, /* type du fichier excelcs ou accesscs */
replace=oui);
%mend export_vers_excel;
%let chemin_arr = %str(\\ar2pr302.groupe.generali.fr\commun\groupe\Groupes\ACT\Bilan_GB200\Rapprochement_GB2000_SAP\Novembre_2008\);
%let var_commune= %str(numpro produit prodcompta police libpro typereglement codeproduitcomptable
reglement datecomptable lotcomptable montant existelot montanthorslot montantaveclot);
***Filename Base DDE 'Excel|/app/sas/users/commun/groupe1/Groupes/ACT/Bilan_GB2000/Rapprochement_GB2000_SAP/Novembre_2008/[ExtractReglementGB2000_1108.xls]/Generali Invest!L3C1:L60000C14' NOTAB;
%export_vers_excel(tab_in=Ginvest,
fic_out=ExtractReglementGB2000_1108,
sheet_out=Generali_Invest);
***Filename Base DDE 'Excel|/app/sas/users/commun/groupe1/Groupes/ACT/Bilan_GB2000/Rapprochement_GB2000_SAP/Novembre_2008/[ExtractReglementGB2000_1108.xls]/Exel!L3C1:L60000C14' NOTAB;
%export_vers_excel(tab_in=Exel,
fic_out=ExtractReglementGB2000_1108,
sheet_out=Exel);
***Filename Base DDE 'Excel|/app/sas/users/commun/groupe1/Groupes/ACT/Bilan_GB2000/Rapprochement_GB2000_SAP/Novembre_2008/[ExtractReglementGB2000_1108.xls]/Excellence!L3C1:L60000C14' NOTAB;
%export_vers_excel(tab_in=Excellence,
fic_out=ExtractReglementGB2000_1108,
sheet_out=Excellence);
et voici le corps de ma macro expor
%macro export_fichier(
server=, /* adresse IP du poste */
lib_dep=, /* nom de librairie SAS */
fic_dep=, /* nom de la table SAS */
chem_arr=, /* repertoire arrive */
fic_arr=, /* nom du fichier arrive */
tab_out=, /* nom table access ou feuil excel */
dbms=excelcs, /* type du fichier excelcs accesscs */
replace=oui) / store;
PROC EXPORT DATA=
%if "&fic_dep" ne "" %then %do ;
%if "&lib_dep" ne "" %then %do ;
&lib_dep..&fic_dep
%end;
%else %do ;
&fic_dep
%end ;
%end ;
%if "%upcase(&dbms)" ne "EXCELCS" %then %do ;
outtable="&tab_out"
DBMS=&dbms
%if "%upcase(&replace)" ne "NON" %Then %do ;
REPLACE ;
%end ;
database = "&chem_arr.&fic_arr..mdb" ;
%end;
%else %do ;
OUTFILE = "&chem_arr.&fic_arr..xls"
DBMS=&dbms
%if "%upcase(&replace)" ne "NON" %Then %do ;
REPLACE
%end ;
;
SHEET="&tab_out" ;
%end;
server="&server";
port=8621 ;
RUN;
%mend export_fichier ; |
Partager