Código SAS para generación de archivo de control de SQL sqlloader..
Enviado por Alfredo BC • 5 de Marzo de 2017 • Trabajo • 1.278 Palabras (6 Páginas) • 344 Visitas
options mstored mprint mcompile mprintnest mlogic compress = yes;
/*Macro que guarda tabla a migrar a Oracle*/
*%let tabla=&sysparm;
*%let tabla=&tabla;
%let tabla_homologada=&sysparm;
%let tabla_homologada=&tabla_homologada;
/*Macros para genear y guardar Log de migracion*/
libname prueba "/herramientas/PAR/DatosHistoricos/prueba";
%let montaje=/herramientas/PAR/DatosHistoricos;
%let salida_log=&montaje./procload/logs/genera_sql_&tabla_homologada._%left(%sysfunc(date(),date9.))_%left(%sysfunc(time(),time5.)).log;
%let salida_log=&salida_log;
%put &salida_log.;
proc printto log="&salida_log." new;
run;
/*Asignamos librerias y macros*/
%include "&montaje./procload/src/procmac.sas";
%include "&montaje./procload/src/proclib.sas";
/*Recuperamos variables a renombrar*/
%include "&montaje./procload/src/renombrar_multiple.sas";
proc sql;
select max (no_ele) into: numero_de_tablas_a_homologar
from stagedb.orload703
where trim(upcase(tabla_homologada)) = trim(upcase("&tabla_homologada."));
quit;
%macro homologa_feliz();
%do i = 1 %to &numero_de_tablas_a_homologar.;
data _NULL_;
set stagedb.orload703;
if trim(upcase(tabla_homologada)) = trim(upcase("&tabla_homologada."))
and no_ele = &i.;
call symput("tabla_a_homologar",trim(nombre_tabla));
run;
proc contents
data=dds_h.&tabla_a_homologar. /*(rename=(&cambiar_nombres.))*/
out=&tabla_a_homologar. varnum;
run;
proc sort data=&tabla_a_homologar.;
by memname varnum;
run;
data _NULL_;
set &tabla_a_homologar.;
by memname varnum;
retain todas_las_variables;
length todas_las_variables $ 32500;
if first.memname then do;
todas_las_variables = name;
end;
else do;
todas_las_variables = trim(todas_las_variables) || ", " || name;
end;
if last.memname then do;
call symput("todas_las_variables_&i.",
...