lunes, 28 de septiembre de 2020

Lee Excel

 sNombreArchivoExcel is string
// Opens the file picker
sNombreArchivoExcel = fSelect("", "", "Selecciona el archivo de excel...", "Excel" + TAB + "*.xlsx;*.xls", "*.xlsx;*.xls")
nNumArchivoExcel    is int = xlsOpen(sNombreArchivoExcel)
nLineasArchivoExcel is int = xlsNbRow(nNumArchivoExcel)
nCiclo            is int
nContador         is int = 0

dFecha             is Date
sIdDB_Tasa_Tipo is string
sClave             is string
cyValor         is currency



FOR nCiclo = 1 TO 5
    IF         nCiclo = 1 THEN
        sClave     = "TIIE"
    ELSE IF nCiclo = 2
        sClave     = "CETE"
    ELSE IF nCiclo = 3
        sClave     = "DOLAR"    
    ELSE IF nCiclo = 4
        sClave     = "UDI"
    ELSE
        sClave = "INPC"    
    END
    //EL PRIMER CICLO GRABO LA TIIE, POR TANTO BUSCO LA ID DE TIIE
    HReadSeekFirst(DB_Tasa_Tipo,Clave,sClave)
    IF HFound(DB_Tasa_Tipo) = True THEN
        sIdDB_Tasa_Tipo = DB_Tasa_Tipo.IdDB_Tasa_Tipo
    END
    
    FOR nContador = 2 TO nLineasArchivoExcel  //NO CONSIDERO ENCABEZADOS
        IF nCiclo     =  1 THEN
            cyValor = xlsData(nNumArchivoExcel,nContador,3)
        ELSE IF nCiclo = 2
            cyValor = xlsData(nNumArchivoExcel,nContador,4)
        ELSE IF nCiclo = 3
            cyValor = xlsData(nNumArchivoExcel,nContador,5)    
        ELSE IF nCiclo = 4
            cyValor = xlsData(nNumArchivoExcel,nContador,6)    
        ELSE
            cyValor = xlsData(nNumArchivoExcel,nContador,10)        
        END
        IF cyValor > 0
            dFecha  = StringToDate(xlsData(nNumArchivoExcel,nContador,2),"DD/MM/YYYY")
            HReadSeekFirst(DB_Tasa_Diaria,IdDB_Tasa_TipoFecha,[sIdDB_Tasa_Tipo,dFecha])
            IF HFound(DB_Tasa_Diaria) THEN        
                DB_Tasa_Diaria.Valor = cyValor
            ELSE
                HReset(DB_Tasa_Diaria)
                DB_Tasa_Diaria.IdDB_Tasa_Diaria = GP_DameIdentificador()
                DB_Tasa_Diaria.IdDB_Tasa_Tipo     = sIdDB_Tasa_Tipo
                DB_Tasa_Diaria.Fecha             = dFecha
                DB_Tasa_Diaria.Valor             = cyValor
                DB_Tasa_Diaria.VigenteAl         = dFecha
                
            END    
            HSave(DB_Tasa_Diaria)
        END
    END
END //FOR nCiclo = 1 TO 3

Info("Proceso Terminado")

XML

 XML es UTF8, Basándonos en este discurso, generamos el XML y lo lanzamos en una cadena En este momento hice otra variable variavel_xml es b...