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 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
| 48 filename sortie dde 'excel|O:\4120-SIO\Extraction\Validation des fichiers
48 ! SAS\PAH\[Erreur20120112.xls]erreurs!l2c1:l999c19' notab;
ERROR: Autorisation insuffisante pour accéder à DDE.
ERROR: Erreur dans l'instruction FILENAME.
49 filename cntrl dde 'excel|O:\4120-SIO\Extraction\Validation des fichiers
49 ! SAS\PAH\Erreur20120112.xls' command;
ERROR: Autorisation insuffisante pour accéder à DDE.
ERROR: Erreur dans l'instruction FILENAME.
Debut de mon programme sas
proc datasets kill; quit;
title;
footnote;
options papersize='Letter' symbolgen nodate nonumber nocenter nolabel missing=. noxwait noxsync;
/******************************************************************************************/
/* PARAMÈTRES */
/******************************************************************************************/
libname entree 'O:\4120-SIO\Extraction\REJETS';
%let cas_tot=pah201201;
%let cas_nouv=pah201201nouvrej;
filename sortie dde 'excel|O:\4120-SIO\Extraction\Validation des fichiers SAS\PAH\[Erreur20120112.xls]erreurs!l2c1:l999c19' notab;
filename cntrl dde 'excel|O:\4120-SIO\Extraction\Validation des fichiers SAS\PAH\Erreur20120112.xls' command;
/******************************************************************************************/
/* FIN PARAMÈTRES */
/******************************************************************************************/
/******************************************************************************************/
/* Lecture du fichier sas des nouveaux rejets PAH */
/******************************************************************************************/
data pah_tot;
set entree.&cas_tot;
/* Sélection des cas pertinents à signaler */
if c_erreur>=23;
desc_err=c_erreur;
run;
data pah_nouv;
set entree.&cas_nouv;
/* Élimination de quelques cas considérés normaux */
if c_erreur=22 and co_progr='PAD' and co_volet='I' and
substr(no_dos_mun,1,2) ne 'P-' then delete;
if c_erreur=22 and round(mnt_part_shq_eng)=0 and round(mnt_subve_tot_eng)=0 then delete;
/* Sélection des cas pertinents à signaler */
if c_erreur<23;
desc_err=c_erreur;
run;
data pah;
set pah_nouv pah_tot;
attrib mnt_part_shq_eng mnt_subve_tot_eng mnt_part_shq_debourse
mnt_subve_tot_debourse mnt_travaux format=20.2;
run;
proc format;
value err 21="1-Nombre de logements <= 0"
22="2-Montant Part SHQ <= 0"
23="3-Montant Subvention Totale < Montant Part SHQ"
24="4-Montant Travaux < Montant Part SHQ"
26="6-Montant Travaux < Montant Subvention Totale"
28="8-Montant Subvention Totale = Montant Part SHQ";
run;
/******************************************************************************************/
/* Transfert dans le tableau Excel */
/******************************************************************************************/
options missing=' ';
data _null_;
set pah;
file sortie;
tab='09'x;
put c_erreur tab
desc_err err. tab
no_dos tab
co_progr tab
co_volet tab
co_programmation tab
no_parte tab
nom_partenaire tab
no_dos_mun tab
co_etape tab
nb_unites tab
dt_eve_eng tab
mnt_part_shq_eng tab
mnt_subve_tot_eng tab
dt_eve_debourse tab
mnt_part_shq_debourse tab
mnt_subve_tot_debourse tab
dt_recommandation_paiem tab
mnt_travaux tab;
run;
data _null_;
file cntrl;
put '[ACTIVER("Erreur20120112.xls")]';
put '[SELECTIONNER("L2C10:L999C19")]';
put '[REMPLACER.CELLULE(".";",";2;1;FAUX;FAUX)]';
put '[SELECTIONNER("L1C1")]';
run; |
Partager