====== Fabrica: Factura Electrónica - Soporte y Mantenimiento - Proceso de reconstrucción de documentos facturas recibidas en la DIAN y no quedan en SICOF ERP (Scripts DB) ====== El proceso de reconstrucción de documentos se presenta cuando ocurren demoras en la respuesta de la DIAN ya sean por temas de red, latencia o errores no controlados. en estos casos no se obtiene respuesta exitosa de la DIAN, pero el procesamiento del documentos es realizado correctamente. La funcionalidad controla los consecutivos por medio de un consumo sincrónico razón por la cuál los consecutivos no se procesan cuando se recibe un error en la respuesta y eso genera el bloqueo de posteriores consumos. La solución de esta situación sólo aplica para el PST Interno en los modos de instalación: * **In-house**: Instalación infraestructura ADA * **On-premise**: Instalación infraestructura cliente. ===== Ubicación ===== El directorio de scripts se encuentra en la url del svn: [[http://adacsc.co:1443/svn/repository/ADA/SICOF/Documentos/Desarrollos/PowerBuilder/ScriptsDB/Tags/App/Financiero/36%20FACTURA%20ELECTRONICA/Versi%C3%B3n%202.0/ScriptsDB/Release/ConfigInit/0000%20Constantes |SVN Directorio]] ===== Guía de Implementación ===== A continuación describen los pasos para que deben ejecutarse en la solución de reconstrucción de documentos, tener presente que algunos scripts no se ejecutarán secuencial sino dependiendo de la situación del proceso, además algunos deben ser adaptados al cliente y al documento por procesar. por lo tanto se recomienda siempre leer el archivo "Leeme.txt" de cada directorio antes de ejecutar cualquier scripts. Además se recomienda leer la documentación interna de cada scripts ya que define los pasos de configuración y ejecución. ==== Precondiciones ==== No se debe estar trabajando en: * Módulo de cuentas por cobrar * Recepción de pedidos * Recepción de facturas Porque el control de consecutivos y afectaciones presupuestales y contables van a ser afectados por el proceso. ==== Pasos ==== A Continuación se describen los pasos según y el rol((Quien debe ejecutar el proceso)) y el script que se debe parametrizar. ==== Paso 1 - Implantación ==== Inactivar Constante: **0000d Inactivar el Envío de Documentos.sql** (Se debe preparar el script). DECLARE --============================================================================== -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Variables de control --============================================================================== ERROR_FE EXCEPTION; PRAGMA EXCEPTION_INIT(ERROR_FE, -20999); GCVN_ERROR_NUMBER CONSTANT NUMBER := -20999; lva_msg VARCHAR2(2048) default null; --============================================================================== -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Variables de procesos --============================================================================== lva_CODIGO_CLIENTE VARCHAR2(256) DEFAULT NULL; lva_COD_PST VARCHAR2(256) DEFAULT NULL; BEGIN --============================================================================== -- Fecha: 12:11 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co -- Captura de parametros de configuración del cliente --============================================================================== ROLLBACK; lva_msg := 'Captura de parametros de configuración del cliente'; --============================================================================== -- Fecha: 12:55 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co -- El codigo del cliente por lo generar se refiere al nombrede cliente sin espacios acompañado del contexto de ejecución -- Ejemplo para el cliente ADA en el ambiente de producción seria ADA_PROD -- Ejemplo para el cliente ADA en el ambiente de pruebas seria ADA_TEST --============================================================================== lva_CODIGO_CLIENTE := NULL;--REQUERIDO: código del cliente con el contexto (TEST o PROD) --============================================================================== -- Fecha: 7:20 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- El código del PST es una codificación interna que se le denota al cliente -- del servicio web que realizará el envio de documentos para los PST internos -- este código será ADA para los PST Externos este codigo será un acronimo -- del nombre del proveedor externo EJ (BytheWave = BTW, Tecnofactor = TNF) --============================================================================== lva_COD_PST := 'ADA';--REQUERIDO: código del pst --****************************************************************************** --****************************************************************************** -- NO MODIFICAR EL CODIGO FUENTE A PARTIR DE ACA --****************************************************************************** --****************************************************************************** --============================================================================== -- Fecha: 7:17 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Validaciones de control --============================================================================== lva_msg := 'Validaciones de control'; if lva_CODIGO_CLIENTE is null then lva_msg := 'No se ha definido el codigo del cliente en la configuración'; RAISE ERROR_FE; end if; if lva_COD_PST is null then lva_msg := 'No se ha definido el codigo del pst en la configuración'; RAISE ERROR_FE; end if; --============================================================================== -- Fecha: 10:59 a. m. martes, 29 de septiembre de 2020 - carlos.torres@ada.co -- Inactivar configuración --============================================================================== lva_msg := 'Inactivar configuración'; --============================================================================== -- Fecha: 8:12 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Inactivar el envío de documentos --============================================================================== UPDATE PRESUP01.PARAMETROS_FE_PST U SET U.ENVIAR_DOCUMENTOS = 'N' WHERE U.COD_CLIENTE = lva_CODIGO_CLIENTE AND U.COD_PST = lva_COD_PST; COMMIT; EXCEPTION WHEN OTHERS THEN dbms_output.put_line(SQLCODE || ' - ' || SQLERRM || ' - msg: ' || lva_msg); ROLLBACK; SICOF.PCK_UTILIDADES.P_REGISTER_ERROR(SQLCODE, lva_msg, 'ERROR: ' || SQLERRM || dbms_utility.format_error_backtrace, 'BLOQUE ANONIMO'); raise_application_error(GCVN_ERROR_NUMBER,lva_msg); END; ==== Paso 2 - Consultor ==== Realizar la aprobación de la factura desde SICOF ERP. ==== Paso 3 - Implantación/Fabrica ==== Actualizar el consecutivo y prefijo de la numeración que corresponde al documentos en la cxc (Se debe preparar el script) **9998a Actualizar Datos de Consumo DIAN (Reconstucción CXC Aprobación).sql**. DECLARE --============================================================================== -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Variables de control --============================================================================== ERROR_FE EXCEPTION; PRAGMA EXCEPTION_INIT(ERROR_FE, -20999); GCVN_ERROR_NUMBER CONSTANT NUMBER := -20999; lva_msg VARCHAR2(2048) default null; --============================================================================== -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Variables de procesos --============================================================================== lva_CODIGO_CPCOBRAR NUMBER DEFAULT NULL; lva_CONSECUTIVO_DIAN NUMBER DEFAULT NULL; lva_PREFIJO_DIAN VARCHAR2(256) DEFAULT NULL; lva_CODIGO_USUARIO NUMBER DEFAULT NULL; lva_FECHA_APROBACION DATE DEFAULT NULL; BEGIN --============================================================================== -- Fecha: 12:11 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co -- Captura de parametros de configuración del cliente --============================================================================== ROLLBACK; lva_msg := 'Captura de parametros de configuración del cliente'; --============================================================================== -- Fecha: 12:55 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co -- El codigo de la Cuenta por Cobrar, este identificador puede obtenerse al revisar el log -- de documentos enviados: -- Ejemplo:en el siguiente log -- http://10.1.20.84:3123/ADAFETEST/webresources/pst/ef/VIVA_TEST/9999999999/BTW/InvoideType/19778/1473924/0 -- el numero 19778 representa el codigo interno de la factura --============================================================================== lva_CODIGO_CPCOBRAR := NULL; --REQUERIDO: código de la cuenta por cobrar --============================================================================== -- Fecha: 8:01 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Codigo interno de cuenta por cobrar se refiere al campo -- codigo_cpcobrar de PRESUP01.MAE_CUENTAS_POR_COBRAR --============================================================================== lva_CONSECUTIVO_DIAN := NULL; --REQUERIDO: consecutivo de la CXC --============================================================================== -- Fecha: 8:08 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Prefijo de la resolución del consecutivo de la aprobación --============================================================================== lva_PREFIJO_DIAN := NULL; --Prefijo de la numeración (Solo si la resolución lo requiere) --============================================================================== -- Fecha: 10:37 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Codigo del usuario SICOF ERP con el cuál debe quedar el proceso -- Este usuario se puede identificar por el login filtrandolo -- en la tabla presup01.usuario campo login con el código de aplicacion 1 --============================================================================== lva_CODIGO_USUARIO := NULL; --REQUERIDO: Usuario SICOF Login codigo usuario tabla PRSUP01.USUARIOS --============================================================================== -- Fecha: 10:38 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Fecha de aprobación con la cual se va a aprobar la factura -- debe tener el siguiente formato: TO_DATE('24/11/2020 17:27:16', 'dd/mm/yyyy HH24:MI:SS'); --============================================================================== lva_FECHA_APROBACION := NULL; --REQUERIDO: Ejemplo TO_DATE('24/11/2020 17:27:16', 'dd/mm/yyyy HH24:MI:SS'); --****************************************************************************** --****************************************************************************** -- NO MODIFICAR EL CODIGO FUENTE A PARTIR DE ACA --****************************************************************************** --****************************************************************************** --============================================================================== -- Fecha: 7:17 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Validaciones de control --============================================================================== lva_msg := 'Validaciones de control'; if lva_CODIGO_CPCOBRAR is null then lva_msg := 'No se ha definido el codigo interno del documento (factura) en la configuración'; RAISE ERROR_FE; END IF; if lva_CONSECUTIVO_DIAN is null then lva_msg := 'No se ha definido el consecutivo del documento (factura) en la configuración'; RAISE ERROR_FE; END IF; if lva_CODIGO_USUARIO is null then lva_msg := 'No se ha definido el codigo del usuario aprobador'; RAISE ERROR_FE; end if; if lva_FECHA_APROBACION is null then lva_msg := 'No se ha definido la fecha de aprobación del documento'; RAISE ERROR_FE; end if; --============================================================================== -- Fecha: 8:12 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Actualizar encabezado de la factura --============================================================================== lva_msg := 'Actualizar encabezado de la factura'; UPDATE PRESUP01.MAE_CUENTAS_POR_COBRAR U SET U.ENVIO_DIAN = 'S', U.CONSECUTIVO = lva_CONSECUTIVO_DIAN, U.PREFIJO_DIAN = lva_PREFIJO_DIAN, U.CODIGO_USUARIO_APRUEBA = lva_CODIGO_USUARIO, U.FECHA_APROBACION = lva_FECHA_APROBACION WHERE U.CODIGO_CPCOBRAR = lva_CODIGO_CPCOBRAR; --============================================================================== -- Fecha: 10:42 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Actualizar Consecutivo en la causación --============================================================================== lva_msg := 'Actualizar Consecutivo en la causación'; UPDATE PRESUP01.MAESTRO_ASIENTO_CONTABLE U SET U.NUMERO_DOCUMENTO = lva_CONSECUTIVO_DIAN, U.IDENTIFICACION_FACTURA = lva_CONSECUTIVO_DIAN, U.PREFIJO_DOCUMENTO = lva_PREFIJO_DIAN WHERE U.CODIGO_ASIENTO IN ( select t.codigo_asiento from presup01.det_asientos_documento t where t.codigo_documento in (select t.codigo_documento from PRESUP01.MAE_CUENTAS_POR_COBRAR t where T.CODIGO_CPCOBRAR = lva_CODIGO_CPCOBRAR) ); COMMIT; EXCEPTION WHEN OTHERS THEN dbms_output.put_line(SQLCODE || ' - ' || SQLERRM || ' - msg: ' || lva_msg); ROLLBACK; SICOF.PCK_UTILIDADES.P_REGISTER_ERROR(SQLCODE, lva_msg, 'ERROR: ' || SQLERRM || dbms_utility.format_error_backtrace, 'BLOQUE ANONIMO'); raise_application_error(GCVN_ERROR_NUMBER,lva_msg); END; ==== Paso 4 - Implantación ==== Ejecutar scripts **9998c Actualizar Datos de Consumo DIAN (Reconstrucción CXC Referencia CUFE).sql** Se debe generar la referencia CUFE la cual es utilizada para procesos de modificación de la factura (Notas Débito/Crédito). Este script se debe preparar por lo que el consultor debe proveer la información del documento reconstruido. DECLARE --============================================================================== -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Variables de control --============================================================================== ERROR_FE EXCEPTION; PRAGMA EXCEPTION_INIT(ERROR_FE, -20999); --============================================================================== -- Fecha: 8:00 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Constantes --============================================================================== GCVN_ERROR_NUMBER CONSTANT NUMBER := -20999; GCVA_INVOICE_TYPE CONSTANT VARCHAR2(256) := 'InvoiceType'; lva_msg VARCHAR2(2048) DEFAULT NULL; --============================================================================== -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Variables de procesos --============================================================================== lva_CODIGO_CLIENTE VARCHAR2(256) DEFAULT NULL; lva_COD_PST VARCHAR2(256) DEFAULT NULL; lva_CODIGO_MEMPRESA VARCHAR2(256) DEFAULT '9999999999'; lvn_COD_DOCUMENTO NUMBER; lvn_CONSECUTIVO NUMBER; lva_CUFE VARCHAR2(256) DEFAULT NULL; lva_FECHA_FORMAT VARCHAR2(256) DEFAULT NULL; lva_PREFIJO VARCHAR2(256) DEFAULT NULL; BEGIN --============================================================================== -- Fecha: 12:11 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co -- Captura de parametros de configuración del cliente --============================================================================== ROLLBACK; lva_msg := 'Captura de parametros de configuración del cliente'; --============================================================================== -- Fecha: 12:55 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co -- El codigo del cliente por lo generar se refiere al nombrede cliente sin espacios acompañado del contexto de ejecución -- Ejemplo para el cliente ADA en el ambiente de producción seria ADA_PROD -- Ejemplo para el cliente ADA en el ambiente de pruebas seria ADA_TEST --============================================================================== lva_CODIGO_CLIENTE := NULL;--REQUERIDO: código del cliente con el contexto (TEST o PROD) --============================================================================== -- Fecha: 7:20 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- El código del PST es una codificación interna que se le denota al cliente -- del servicio web que realizará el envio de documentos para los PST internos -- este código será ADA para los PST Externos este codigo será un acronimo -- del nombre del proveedor externo EJ (BytheWave = BTW, Tecnofactor = TNF) --============================================================================== lva_COD_PST := 'ADA';--REQUERIDO: código del pst --============================================================================== -- Fecha: 7:58 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Código de la empresa (Multiempresa). Si es uniempresa por defecto es '9999999999' --============================================================================== lva_CODIGO_MEMPRESA := '9999999999'; --============================================================================== -- Fecha: 8:01 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Codigo interno de cuenta por cobrar se refiere al campo -- codigo_cpcobrar de PRESUP01.MAE_CUENTAS_POR_COBRAR --============================================================================== lvn_COD_DOCUMENTO := NULL; --REQUERIDO: codigo interno de la CXC --============================================================================== -- Fecha: 8:03 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Consecutivo generado en la aprobación de envio a la DIAN -- represente el campo consecutivo de PRESUP01.MAE_CUENTAS_POR_COBRAR --============================================================================== lvn_CONSECUTIVO := NULL; --REQUERIDO: consecutivo de la CXC --============================================================================== -- Fecha: 8:05 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- CUFE: Código Único de Factura electrónica generado en el proceso de aprobación de la DIAN --============================================================================== lva_CUFE := NULL; --REQUERIDO: CUFE de la factura --============================================================================== -- Fecha: 8:06 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Fecha de aprobación de la factura debe registrarse en formato -- TO_CHAR('YYYY-MM-DD') y refresenta el campo fecha_aprobación de PRESUP01.MAE_CUENTAS_POR_COBRAR -- Ejemplo: 2020-12-31 --============================================================================== lva_FECHA_FORMAT := NULL; --REQUERIDO: Fecha Aprobación en formato TO_CHAR('YYYY-MM-DD') --============================================================================== -- Fecha: 8:08 a. m. miércoles, 12 de mayo de 2021 - carlos.torres@ada.co -- Prefijo de la resolución del consecutivo de la aprobación --============================================================================== lva_PREFIJO := NULL; --****************************************************************************** --****************************************************************************** -- NO MODIFICAR EL CODIGO FUENTE A PARTIR DE ACA --****************************************************************************** --****************************************************************************** --============================================================================== -- Fecha: 7:17 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Validaciones de control --============================================================================== lva_msg := 'Validaciones de control'; IF lva_CODIGO_CLIENTE IS NULL THEN lva_msg := 'No se ha definido el codigo del cliente en la configuración'; RAISE ERROR_FE; END IF; IF lva_COD_PST IS NULL THEN lva_msg := 'No se ha definido el codigo del pst en la configuración'; RAISE ERROR_FE; END IF; lva_CODIGO_MEMPRESA := NVL(lva_CODIGO_MEMPRESA, '9999999999'); IF lvn_COD_DOCUMENTO IS NULL THEN lva_msg := 'No se ha definido el codigo interno del documento (factura) en la configuración'; RAISE ERROR_FE; END IF; IF lvn_CONSECUTIVO IS NULL THEN lva_msg := 'No se ha definido el consecutivo del documento (factura) en la configuración'; RAISE ERROR_FE; END IF; IF lva_CUFE IS NULL THEN lva_msg := 'No se ha definido el CUFE del documento (factura) en la configuración'; RAISE ERROR_FE; END IF; IF lva_FECHA_FORMAT IS NULL THEN lva_msg := 'No se ha definido la fecha formateada del documento (factura) en la configuración'; RAISE ERROR_FE; END IF; --============================================================================== -- Fecha: 10:59 a. m. martes, 29 de septiembre de 2020 - carlos.torres@ada.co -- Insertar el registro de referencia sino existe --============================================================================== lva_msg := 'Insertar el registro de referencia sino existe'; --============================================================================== -- Fecha: 8:12 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Insetar el registro --============================================================================== INSERT INTO PRESUP01.FE_CUFE_DOC_CXC_ND_NC ( COD_CLIENTE, CODIGO_MEMPRESA, INVOICE_TYPE, COD_DOCUMENTO, CONSECUTIVO, CONSECUTIVO_REF, CUFE, FECHA_FORMAT, PST, FECHA_REGISTRO, PREFIJO, XML_DIAN) SELECT lva_CODIGO_CLIENTE, lva_CODIGO_MEMPRESA, GCVA_INVOICE_TYPE, lvn_COD_DOCUMENTO, lvn_CONSECUTIVO, 0, lva_CUFE, lva_FECHA_FORMAT, lva_COD_PST, SYSDATE, lva_PREFIJO, NULL FROM DUAL WHERE NOT EXISTS ( SELECT 1 FROM PRESUP01.FE_CUFE_DOC_CXC_ND_NC WHERE COD_CLIENTE = lva_CODIGO_CLIENTE AND PST = lva_COD_PST AND CODIGO_MEMPRESA = lva_CODIGO_MEMPRESA AND INVOICE_TYPE = GCVA_INVOICE_TYPE AND COD_DOCUMENTO = lvn_COD_DOCUMENTO AND CONSECUTIVO = lvn_CONSECUTIVO ); COMMIT; EXCEPTION WHEN OTHERS THEN dbms_output.put_line(SQLCODE || ' - ' || SQLERRM || ' - msg: ' || lva_msg); ROLLBACK; SICOF.PCK_UTILIDADES.P_REGISTER_ERROR(SQLCODE, lva_msg, 'ERROR: ' || SQLERRM || dbms_utility.format_error_backtrace, 'BLOQUE ANONIMO'); raise_application_error(GCVN_ERROR_NUMBER,lva_msg); END; ==== Paso 5 - Implantación ==== Activar constante: **0000a Activar Edición de Numeración.sql** --============================================================================== -- Fecha: 8:12 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Activa la opción --============================================================================== update sicof.m_constantes u set aplica = 'S', valor_alfa = 'S' where lower(trim(u.descripcion)) like lower('%FE_ACCESO_ADMIN_TIPO_DOC%'); ==== Paso 6 - Consultor ==== Actualizar el consecutivo consumido en el proceso (Desde la opción de Administración de Tipos de Documentos). ==== Paso 7 - Implantación ==== Inactivar constante: **0000a Inactivar Edición de Numeración.sql** --============================================================================== -- Fecha: 8:12 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Inactiva la opción --============================================================================== update sicof.m_constantes u set aplica = 'N', valor_alfa = 'N' where lower(trim(u.descripcion)) like lower('%FE_ACCESO_ADMIN_TIPO_DOC%'); ==== Paso 8 - Consultor ==== Recomendación: Verificar documento procesado y saldos contables. ==== Paso 9 - Implantación ==== Activar Constante: **0000d Activar el Envío de Documentos.sql** (Se debe preparar el script). DECLARE --============================================================================== -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Variables de control --============================================================================== ERROR_FE EXCEPTION; PRAGMA EXCEPTION_INIT(ERROR_FE, -20999); GCVN_ERROR_NUMBER CONSTANT NUMBER := -20999; lva_msg VARCHAR2(2048) default null; --============================================================================== -- Fecha: 7:15 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Variables de procesos --============================================================================== lva_CODIGO_CLIENTE VARCHAR2(256) DEFAULT NULL; lva_COD_PST VARCHAR2(256) DEFAULT NULL; BEGIN --============================================================================== -- Fecha: 12:11 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co -- Captura de parametros de configuración del cliente --============================================================================== ROLLBACK; lva_msg := 'Captura de parametros de configuración del cliente'; --============================================================================== -- Fecha: 12:55 p. m. sábado, 21 de noviembre de 2020 - carlos.torres@ada.co -- El codigo del cliente por lo generar se refiere al nombrede cliente sin espacios acompañado del contexto de ejecución -- Ejemplo para el cliente ADA en el ambiente de producción seria ADA_PROD -- Ejemplo para el cliente ADA en el ambiente de pruebas seria ADA_TEST --============================================================================== lva_CODIGO_CLIENTE := NULL;--REQUERIDO: código del cliente con el contexto (TEST o PROD) --============================================================================== -- Fecha: 7:20 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- El código del PST es una codificación interna que se le denota al cliente -- del servicio web que realizará el envio de documentos para los PST internos -- este código será ADA para los PST Externos este codigo será un acronimo -- del nombre del proveedor externo EJ (BytheWave = BTW, Tecnofactor = TNF) --============================================================================== lva_COD_PST := 'ADA';--REQUERIDO: código del pst --****************************************************************************** --****************************************************************************** -- NO MODIFICAR EL CODIGO FUENTE A PARTIR DE ACA --****************************************************************************** --****************************************************************************** --============================================================================== -- Fecha: 7:17 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Validaciones de control --============================================================================== lva_msg := 'Validaciones de control'; if lva_CODIGO_CLIENTE is null then lva_msg := 'No se ha definido el codigo del cliente en la configuración'; RAISE ERROR_FE; end if; if lva_COD_PST is null then lva_msg := 'No se ha definido el codigo del pst en la configuración'; RAISE ERROR_FE; end if; --============================================================================== -- Fecha: 10:59 a. m. martes, 29 de septiembre de 2020 - carlos.torres@ada.co -- Inactivar configuración --============================================================================== lva_msg := 'Inactivar configuración'; --============================================================================== -- Fecha: 8:12 a. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- Inactivar el envío de documentos --============================================================================== UPDATE PRESUP01.PARAMETROS_FE_PST U SET U.ENVIAR_DOCUMENTOS = 'S' WHERE U.COD_CLIENTE = lva_CODIGO_CLIENTE AND U.COD_PST = lva_COD_PST; COMMIT; EXCEPTION WHEN OTHERS THEN dbms_output.put_line(SQLCODE || ' - ' || SQLERRM || ' - msg: ' || lva_msg); ROLLBACK; SICOF.PCK_UTILIDADES.P_REGISTER_ERROR(SQLCODE, lva_msg, 'ERROR: ' || SQLERRM || dbms_utility.format_error_backtrace, 'BLOQUE ANONIMO'); raise_application_error(GCVN_ERROR_NUMBER,lva_msg); END; ==== Nota ==== Una vez sean ejecutados todos los scripts el sistema esta preparado para el continuar con el flujo normal de envio de documentos. [[ada:howto:sicoferp:factory:sicoferpscriptsdb:fe:fase3|←Volver atras]]