Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Estimados, necesito cargar una planilla Excel a mi modelo, pero quisiera validar que los campos requeridos existan en esta, es posible hacer esto?
Usé errormode, pero igual se cae porque el campo no existe.
que error te esta saliendo y cuales campos son los requeridos ?
como estas cargando el excel ?
Hola Ramón,
Efectivamente, estoy haciendo a propósito que se caiga, porque quiero asegurarme que el campo venga en la planilla, por lo tanto, esta no tiene el campo "Total".
El error es: "Campo no encontrado - <Total>"
El campo es: "Total"
Cargo el excel así:
Calidad:
LOAD ID, Total FROM [Calidad.xls] (biff, embedded labels, table is [Calidad$]);
ya no entendi, estas haciendo que el campo se caiga de manera intencional ?
si haces un load *, te aparece el campo del total ?
Ramón, el propósito es validar.
Necesito que el modelo se asegure de que le entreguen lo que necesita para trabajar.
ok ... en caso de que no estén los campos necesarios cuál comportamiento debe de tomar ?
el hacer un load definiendo los campos va a obligar siempre que los campos estén presentes en el excel para que funcione y en caso de que falte alguno va a arrojar una falla en el publisher
Hola Richard:
A parte de poner ErrorMode a cero tienes que utilizar las variables de error para verificar si se ha producido algún error en la carga y mediante los comandos de control de flujo, dirigir tu script para registrar el error y actuar en consecuencia.
//*********************************************************************************************************************************
// CONTROL DE ERRORES
//*********************************************************************************************************************************
Set ErrorMode=0;
DIRECTORY;
//Creamos la esctructura vacia de la tabla de Errores para en el caso de que no halla errores se muestren los campos en la interfaz
Load
null() as Fichero,
Null() as [Cód. Error],
null() as [Descripción Error]
AutoGenerate 1;
Set RutaOrigen='.\Datos\';
FOR EACH Archivo in filelist ('$(RutaOrigen)*.xls')
Trace '************** $(Archivo) ******************';
//Inicializamos la variable de Error
Let Error_Archivo=0;
//Cargamos los archivos
Datos:
LOAD
Campo1,
Campo2,
Campo3,
campo4,
campo5
FROM
$(Archivo)
(ooxml, embedded labels, table is Hoja1);
//Cargamos las variables de Error
LET Error_Descripcion=NUM(ScriptError) & ' - ' &ScriptError &' - ' & ScriptErrorDetails;
let Error_Código=NUM(left(Error_Descripcion,2));
//Si hay Error generamos un registro de Error
if Error_Código<>'0' then
Errores:
Load
'$(Archivo)' as Fichero,
'$(Error_Código)' as [Cód. Error],
'$(Error_Descripcion)' as [Descripción Error]
AutoGenerate 1;
Endif
Next