¡Esta es una revisión vieja del documento!
base de datos centralizada
db104_ADA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.140.101)(PORT = 1521)) (CONNECT_DATA = SERVER = DEDICATED) (SERVICE_NAME = db104)))
base de datos de configuración
db101_NE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.140.101)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db101)))
En la base de datos db101 que va ser utilizada para liquidar la nomina y realizar el envió de los documentos se debe parametrizar el cliente según la empresa que se requiera habilitar
Con el siguiente UPDATE se va realizar la actualización de la configuración de la base datos, se ingresa el nit del la empresa a realiza el set de pruebas sin digito de verificación. El tipo de ambiente siempre es 2
UPDATE NOMINA.NE_PARAMETROS_VISTAS NPV SET NPV.NIT_PROVEEDOR_XML = 901273165 , --nit cliente que se requiere habilitar sin DV NPV.DV_NIT_PROVEEDOR_XML = 6 , -- dv del nit del cliente NPV.NIT_CLIENTE = 901273165 , -- nit del cliente que se requiere habilitar sin dv NPV.DV_NIT_CLIENTE = 6 , -- dv del nit del cliente NPV.CODIGO_CLIENTE = 'MADASS_TEST' -- nombre del cliente con el sinónimo _TEST para identificar que es habilitación WHERE AMBIENTE_ID = 2 -- ID 1 = producción 2 = pruebas o habilitación
Se debe crear el tercero de la empresa que se va habilitar En el modulo de nomina esta el maestro de terceros para realizar la creación del tercero - empresa
* Nomina / administrador del sistema / maestro de terceros
Se debe realizar la actualización del nit de la empresa en las tablas de configuración de nomina
UPDATE NOMINA.PARAMETROS_SISTEMA PS SET PS.NIT_EMPRESA = 901273165 -- Nit sin DV ; UPDATE NOMINA.EMPRESAS E SET E.K_N_NIT = 901273165 ,-- Nit sin DV E.SC_DIGITO_VERIFICACION = 6 --DV del nit ; UPDATE NOMINA.EMPRESAS_NOMINA EN SET EN.K_N_NIT = 901273165 -- Nit sin DV
Se deben ejecutar los ACL de habilitación solo si no están ejecutados
la ip de habilitación de nomina electrónica es 10.1.140.102:8081
La petición de validacion se debe realizar con el usuario SYS
SELECT UTL_HTTP.REQUEST('http://10.1.140.102:8081/NominaElectronica') FROM DUAL
La subconsulta debe visualizar la siguiente información
si la respuesta del servicio es diferente a la de la imagen se deben ejecutar los ACL con el usuario SYS
Inicialmente se debe validar que ACL hay creados en la base de datos solo se realiza en la db101
En la siguiente consulta se pueden visualizar; si ya existe un registro con el HOST 10.1.140.102 y LOWER_PORT 8081 no hay que ejecutarlos
SELECT * FROM DBA_NETWORK_ACLS
Si en la tabla no hay registros se ejecuta el siguiente query
grant execute on utl_http to NOMINA; grant execute on dbms_lock to NOMINA; ALTER SESSION SET NLS_LANGUAGE = 'AMERICAN'; ALTER SESSION SET NLS_NUMERIC_CHARACTERS = '.,'; BEGIN DBMS_NETWORK_ACL_ADMIN.create_acl ( acl => 'acls_ne_test.xml', description => 'Lista de control de acceso a los servicios de nomina electrónica', principal => 'NOMINA', is_grant => TRUE, privilege => 'connect', start_date => SYSDATE, end_date => NULL); COMMIT; end; BEGIN DBMS_NETWORK_ACL_ADMIN.add_privilege ( acl => 'acls_ne_test.xml', principal => 'NOMINA', is_grant => TRUE, privilege => 'connect', start_date => SYSTIMESTAMP, end_date => null ); COMMIT; END; BEGIN DBMS_NETWORK_ACL_ADMIN.add_privilege ( acl => 'acls_ne_test.xml', principal => 'NOMINA', is_grant => TRUE, privilege => 'resolve', start_date => SYSTIMESTAMP, end_date => null ); COMMIT; END; begin DBMS_NETWORK_ACL_ADMIN.assign_acl ( acl => 'acls_ne_test.xml', host => '10.1.140.102', lower_port => 8081, upper_port => NULL); COMMIT; end;