IMPORT XML DEFINE nombrefile STRING MAIN DEFINE documento_encabezado RECORD tipoEcf,eNcf,indicadorMontoGravado,tipoPago,fechaLimitePago,FormadePAgo,montoPago,FechaVencimientoSecuencia, rncEmisor,razonSocialEmisor,direccionEmisor,Municipio,Provincia,telefonoEmisor, correoEmisor,webSite,codigoVendedor,numeroFacturaInterna,numeroPedidoInterno, fechaEmision,rncComprador,razonSocialComprador,montoGravadoTotal,montoGravadoI1, montoGravadoI2,montoGravadoI3,montoExento,itbis1,itbis2,itbis3,totalItbis,totalItbis1, totalItbis2,totalItbis3,montoTotal,tipoIngreso,terminoPago,TipoCuentaPago,NumeroCuentaPago,IdentificadorExtranjero STRING END RECORD, arrdata DYNAMIC ARRAY OF RECORD rncemisor,rnccomprador,fechaemision,montototal,encf string END RECORD,i int LET arrdata[1].rncemisor = '131880681' LET arrdata[1].rncComprador = '130337391' LET arrdata[1].fechaEmision='01-04-2020' LET arrdata[1].montoTotal = 7080 LET arrdata[1].eNcf = "E310000000001" LET arrdata[2].rncemisor = '131880681' LET arrdata[2].rncComprador = '130337391' LET arrdata[2].fechaEmision='01-04-2020' LET arrdata[2].montoTotal = 4674.35 LET arrdata[2].eNcf = "E310000000002" LET arrdata[3].rncemisor = '131880681' LET arrdata[3].rncComprador = '130337391' LET arrdata[3].fechaEmision='01-04-2020' LET arrdata[3].montoTotal = 154003.47 LET arrdata[3].eNcf = "E310000000003" LET arrdata[4].rncemisor = '131880681' LET arrdata[4].rncComprador = '130337391' LET arrdata[4].fechaEmision='01-04-2020' LET arrdata[4].montoTotal = 18283 LET arrdata[4].eNcf = "E310000000004" LET arrdata[5].rncemisor = '131880681' LET arrdata[5].rncComprador = '130337391' LET arrdata[5].fechaEmision='01-04-2020' LET arrdata[5].montoTotal = 45253 LET arrdata[5].eNcf = "E310000000005" LET arrdata[6].rncemisor = '131880681' LET arrdata[6].rncComprador = '130337391' LET arrdata[6].fechaEmision='02-04-2020' LET arrdata[6].montoTotal = 400000 LET arrdata[6].eNcf = "E330000000001" LET arrdata[7].rncemisor = '131880681' LET arrdata[7].rncComprador = '130337391' LET arrdata[7].fechaEmision='02-04-2020' LET arrdata[7].montoTotal = 0 LET arrdata[7].eNcf = "E340000000001" LET arrdata[8].rncemisor = '131880681' LET arrdata[8].rncComprador = '130337391' LET arrdata[8].fechaEmision='02-04-2020' LET arrdata[8].montoTotal = 248292 LET arrdata[8].eNcf = "E440000000002" LET arrdata[9].rncemisor = '131880681' LET arrdata[9].rncComprador = '130337391' LET arrdata[9].fechaEmision='02-04-2020' LET arrdata[9].montoTotal = 35400 LET arrdata[9].eNcf = "E450000000001" FOR i = 1 TO arrdata.getLength() LET documento_encabezado.rncEmisor = arrdata[i].rncemisor LET documento_encabezado.rncComprador = arrdata[i].rnccomprador LET documento_encabezado.fechaEmision = arrdata[i].fechaemision LET documento_encabezado.montoTotal = arrdata[i].montototal LET documento_encabezado.eNcf = arrdata[i].encf CALL aprobacioncomercial(documento_encabezado.*) END FOR END MAIN FUNCTION aprobacionComercial(documento_encabezado) DEFINE documento_encabezado RECORD tipoEcf,eNcf,indicadorMontoGravado,tipoPago,fechaLimitePago,FormadePAgo,montoPago,FechaVencimientoSecuencia, rncEmisor,razonSocialEmisor,direccionEmisor,Municipio,Provincia,telefonoEmisor, correoEmisor,webSite,codigoVendedor,numeroFacturaInterna,numeroPedidoInterno, fechaEmision,rncComprador,razonSocialComprador,montoGravadoTotal,montoGravadoI1, montoGravadoI2,montoGravadoI3,montoExento,itbis1,itbis2,itbis3,totalItbis,totalItbis1, totalItbis2,totalItbis3,montoTotal,tipoIngreso,terminoPago,TipoCuentaPago,NumeroCuentaPago,IdentificadorExtranjero STRING END RECORD DEFINE a om.SaxAttributes DEFINE out om.SaxDocumentHandler DEFINE r om.SaxDocumentHandler LET nombreFile = ".\\filesxml\\aprobaciones\\",documento_encabezado.rncEmisor clipped,documento_encabezado.eNcf CLIPPED,'.XML' LET out=om.XmlWriter.createFileWriter(nombreFile) LET a=om.SaxAttributes.create() CALL out.startDocument() CALL a.addAttribute("xmlns:xs","http://www.w3.org/2001/XMLSchema") CALL out.startElement("ACECF",a) CALL a.clear() CALL out.startElement("DetalleAprobacionComercial",NULL) CALL out.startElement("Version",NULL) CALL out.characters("1.0") CALL out.endElement("Version") CALL out.startElement("RNCEmisor",NULL) CALL out.characters(documento_encabezado.rncEmisor) CALL out.endElement("RNCEmisor") CALL out.startElement("eNCF",NULL) CALL out.characters(documento_encabezado.eNcf) CALL out.endElement("eNCF") CALL out.startElement("FechaEmision",NULL) CALL out.characters(documento_encabezado.fechaEmision) CALL out.endElement("FechaEmision") CALL out.startElement("MontoTotal",NULL) CALL out.characters(documento_encabezado.montoTotal) CALL out.endElement("MontoTotal") CALL out.startElement("RNCComprador",NULL) CALL out.characters(documento_encabezado.rncComprador) CALL out.endElement("RNCComprador") CALL out.startElement("Estado",NULL) CALL out.characters("1") CALL out.endElement("Estado") CALL out.startElement("DetalleMotivoRechazo",NULL) CALL out.characters("") CALL out.endElement("DetalleMotivoRechazo") CALL out.startElement("FechaHoraAprobacionComercial",NULL) CALL out.characters("09-09-2023 22:08:16") CALL out.endElement("FechaHoraAprobacionComercial") CALL out.endElement("DetalleAprobacionComercial") CALL out.endElement("ACECF") CALL out.endDocument() END FUNCTION