En ocasiones los clientes realizan modificaciones en su infraestructura de red, ya sea por procesos de seguridad, cambios de proveedor de servicio de internet, auditorias o procesos administrativos o por cualquier otro motivo, en esas situaciones es necesario actualizar la ip o dominio de la funcionalidad ya que el desarrollo requiere que se parametrice la ip del consumo del web service interno y el dominio que estará incluido en el link del correo electrónico que permite los eventos de aceptación y rechazo. A continuación se explica el script de actualización el cual ha sido documentado para identificar el caso de actualización y proceder con la ejecución en el ambiente requerido. Este proceso aplica para el PST Interno en los modos de instalación:
El directorio de scripts se encuentra en la url del svn: SVN Directorio
Este script se utiliza para actualizar el Dominio (Si aplica). Se deben ingresar los campos requeridos y tener presente las siguiente consideraciones:
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); GCVA_HTTP CONSTANT VARCHAR2(32) := 'http://'; GCVA_HTTPS CONSTANT VARCHAR2(32) := 'https://'; GCVN_ERROR_NUMBER CONSTANT NUMBER := -20999; lva_msg VARCHAR2(2048) DEFAULT NULL; GCVA_URL_VALID CONSTANT VARCHAR2(1024) := '/ADAFE/webresources/forms/efevento/{codigo_cliente}/{nit_empresa}/{pst}/{cufe}'; GCVA_URL_FORM CONSTANT VARCHAR2(1024) := '/ADAFE/webresources/forms/formulario/{codigo_cliente}/{nit_empresa}/{pst}/{cufe}'; --============================================================================== -- 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_DOMINIO VARCHAR2(1024) DEFAULT NULL; lvb_http BOOLEAN DEFAULT NULL; lva_URL_VALID VARCHAR2(1024) DEFAULT NULL; lva_URL_FORM VARCHAR2(1024) DEFAULT NULL; lva_protocolo VARCHAR2(32) 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:42 p. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- PASO 1: Configuración de resolución --============================================================================== lva_msg := 'PASO 1: Registro de configuración'; --============================================================================== -- 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 := NULL;--REQUERIDO: código del pst --============================================================================== -- Fecha: 4:10 p. m. jueves, 18 de febrero de 2021 - carlos.torres@ada.co -- Se debe indicar si la petición es segura o no por lo tanto debe -- validarlo con el servicio. true: https false:http --============================================================================== lvb_http := NULL; --============================================================================== -- Fecha: 11:34 a. m. jueves, 18 de febrero de 2021 - carlos.torres@ada.co -- Respresenta el domino público que puede ser accedido desde los link del -- correo de los documentos enviados y permite el acceso al portal de consulta -- de documentos (No es equerido para actualizar la IP pero si se requiere que -- el dominio actual sea actualizado a la nueva IP) --============================================================================== lva_DOMINIO := NULL;--NO REQUERIDO dominio que mapea la ip del servidor --****************************************************************************** --****************************************************************************** -- NO MODIFICAR EL CODIGO FUENTE A PARTIR DE ACA --****************************************************************************** --****************************************************************************** --============================================================================== -- Fecha: 12:42 p. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- PASO 2: Validaciones --============================================================================== lva_msg := 'PASO 2: Validaciones'; --============================================================================== -- 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; -- if lvb_http is null then -- lva_msg := 'No se ha definido el protoco de la petición (true: https false:http)'; -- RAISE ERROR_FE; -- end if; --============================================================================== -- Fecha: 7:53 a. m. viernes, 19 de febrero de 2021 - carlos.torres@ada.co -- Identificar el protocolo --============================================================================== IF lvb_http = TRUE THEN lva_protocolo := GCVA_HTTP; ELSIF lvb_http = FALSE THEN lva_protocolo := GCVA_HTTPS; ELSE lva_protocolo := GCVA_HTTP; END IF; --============================================================================== -- Fecha: 1:58 p. m. jueves, 18 de febrero de 2021 - carlos.torres@ada.co -- PASO 3: Actualizaciones --============================================================================== lva_msg := 'PASO 3: Actualizaciones'; --============================================================================== -- Fecha: 7:55 a. m. viernes, 19 de febrero de 2021 - carlos.torres@ada.co -- Actualizar Dominio --============================================================================== IF lva_DOMINIO IS NOT NULL THEN lva_msg := 'Actualizar Dominio'; lva_URL_VALID := lva_protocolo || lva_DOMINIO || GCVA_URL_VALID; lva_URL_FORM := lva_protocolo || lva_DOMINIO || GCVA_URL_FORM; UPDATE TBL_FE_CONEXION_CLIENTE SET URL_VAL_ACEPTACION = NVL(lva_URL_VALID, URL_VAL_ACEPTACION), URL_VAL_ACEPTACION_FORM = NVL(lva_URL_FORM, URL_VAL_ACEPTACION_FORM) WHERE CODIGO_CLIENTE = lva_CODIGO_CLIENTE; END IF; 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;
Este script se utiliza para actualizar la IP y Puerto. Se deben ingresar los campos requeridos y se debe ejecutar con el usuario del módulo presupuesto.
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); GCVA_HTTP CONSTANT VARCHAR2(32) := 'http://'; GCVA_HTTPS CONSTANT VARCHAR2(32) := 'https://'; GCVN_ERROR_NUMBER CONSTANT NUMBER := -20999; lva_msg VARCHAR2(2048) DEFAULT NULL; GCVA_URL_WS CONSTANT VARCHAR2(1024) := '/ADAFE/webresources/pst/ef/'; --============================================================================== -- 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_IP VARCHAR2(256) DEFAULT NULL; lva_PUERTO VARCHAR2(256) DEFAULT NULL; lvb_http BOOLEAN DEFAULT NULL; lva_URL_WS VARCHAR2(1024) DEFAULT NULL; lva_protocolo VARCHAR2(32) 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:42 p. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- PASO 1: Configuración de resolución --============================================================================== lva_msg := 'PASO 1: Registro de configuración'; --============================================================================== -- 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 := NULL;--REQUERIDO: código del pst --============================================================================== -- Fecha: 11:33 a. m. jueves, 18 de febrero de 2021 - carlos.torres@ada.co -- La nueva ip que se desea actualizar esto requiere que actualice la ACL -- y que el servidor de la base datos pueda acceder al domino de red de la nueva IP --============================================================================== lva_IP := NULL;--REQUERIDO: ip del servidor --============================================================================== -- Fecha: 9:38 a. m. viernes, 19 de febrero de 2021 - carlos.torres@ada.co -- Puerto por donde escuchará el servicio web interno las peticiones de la base de datos --============================================================================== lva_PUERTO := NULL;-- REQUERIDO PUERTO estandar para PST Interno - in-house: 3123. Se debe cambiar cuando es On-premise --============================================================================== -- Fecha: 4:10 p. m. jueves, 18 de febrero de 2021 - carlos.torres@ada.co -- Se debe indicar si la petición es segura o no por lo tanto debe -- validarlo con el servicio. true: https false:http --============================================================================== lvb_http := NULL; --****************************************************************************** --****************************************************************************** -- NO MODIFICAR EL CODIGO FUENTE A PARTIR DE ACA --****************************************************************************** --****************************************************************************** --============================================================================== -- Fecha: 12:42 p. m. domingo, 22 de noviembre de 2020 - carlos.torres@ada.co -- PASO 2: Validaciones --============================================================================== lva_msg := 'PASO 2: Validaciones'; --============================================================================== -- 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; IF lva_IP IS NULL THEN lva_msg := 'No se ha definido la ip del servidor web'; RAISE ERROR_FE; END IF; IF lva_PUERTO IS NULL THEN lva_msg := 'No se ha definido el puerto del servidor web'; RAISE ERROR_FE; END IF; -- if lvb_http is null then -- lva_msg := 'No se ha definido el protoco de la petición (true: https false:http)'; -- RAISE ERROR_FE; -- end if; --============================================================================== -- Fecha: 7:53 a. m. viernes, 19 de febrero de 2021 - carlos.torres@ada.co -- Identificar el protocolo --============================================================================== IF lvb_http = TRUE THEN lva_protocolo := GCVA_HTTP; ELSIF lvb_http = FALSE THEN lva_protocolo := GCVA_HTTPS; ELSE lva_protocolo := GCVA_HTTP; END IF; --============================================================================== -- Fecha: 1:58 p. m. jueves, 18 de febrero de 2021 - carlos.torres@ada.co -- PASO 3: Actualizaciones --============================================================================== lva_msg := 'PASO 3: Actualizaciones'; --============================================================================== -- Fecha: 7:56 a. m. viernes, 19 de febrero de 2021 - carlos.torres@ada.co -- Actualizar IP --============================================================================== IF lva_IP IS NOT NULL THEN lva_msg := 'Actualizar IP'; lva_URL_WS := lva_protocolo || lva_IP || ':' || lva_PUERTO || GCVA_URL_WS; UPDATE PRESUP01.PARAMETROS_FE_PST SET SERVICIO_URL = NVL(lva_URL_WS, SERVICIO_URL) WHERE COD_PST = lva_COD_PST AND COD_CLIENTE = lva_CODIGO_CLIENTE; END IF; 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;
Este script se utiliza para actualizar la IP en la lista de control de acceso de la base de datos del Cliente (ACL). Se deben ingresar los campos requeridos y se debe ejecutar con el usuario root SYS as DBA.
--============================================================================== -- Fecha: 7:49 a. m. viernes, 19 de febrero de 2021 - carlos.torres@ada.co -- EJECUTAR CON EL SYS as DBA -- PASO 1: Asignar los permisos a la URL/IP donde esta aloja el servicio web interno -- Para contexto in-house se asignan valores por defecto -- Para contexto on-premise se deben asignar los valores de la instalación --============================================================================== DECLARE lva_IP VARCHAR2(256) DEFAULT NULL;--IP estandar para PST Interno - in-house. Se debe cambiar cuando es On-premise lva_PUERTO VARCHAR2(256) DEFAULT NULL;--PUERTO estandar para PST Interno - in-house. Se debe cambiar cuando es On-premise BEGIN lva_IP := '10.1.20.84';--IP estandar para PST Interno - in-house. Se debe cambiar cuando es On-premise - CAMPO REQUERIDO lva_PUERTO := 3123;--PUERTO estandar para PST Interno - in-house. Se debe cambiar cuando es On-premise - CAMPO REQUERIDO DBMS_NETWORK_ACL_ADMIN.assign_acl ( acl => 'test_fe_ws_wrapper_pst.xml', host => lva_IP, lower_port => lva_PUERTO, upper_port => NULL); COMMIT; END;