¡Esta es una revisión vieja del documento!
SICOF ERP, soporta configuraciones que permiten administrar sucursales (seccionales) por cliente. Esta funcionalidad es denominada Multiempresa y se puede implementar gracias al soporte que brinda la base de datos Oracle 11gR2 y versiones posteriores.
Esta sección describe las actividades que deben ser implementadas por los desarrolladores Backend de la tecnología Powerbuilder para soportar Multiempresa en las funcionalidades que se implementen o mantengan.
Para soportar la funcionalidad Multiempresa existen 3 constantes relacionadas las cuales se describen a continuación:
Existe 2 modelos de empresa soportados en SICOF ERP:
Este es el modelo tradicional de la mayoría de clientes que utilizan SICOF ERP. Aplica para clientes que sólo tienen una configuración de empresa por base de datos. Algunos de los clientes que soportan esta funcionalidad son:
Para activar este modelo se deben registrar/actualizar las Constantes Relacionadas con los siguientes estados:
--============================================================================== -- Fecha: 3:06 p. m. martes, 11 de mayo de 2021 - carlos.torres@ada.co -- Insert para definir la constante de bloqueo de transacción en entorno multiempresa --============================================================================== INSERT INTO SICOF.M_CONSTANTES (DESCRIPCION, APLICA, VALOR, VALOR_ALFA, FECHA_REGISTRO, CODIGO_MEMPRESA) SELECT 'BLOQUEAR_TRANSACCION', 'N', NULL, 'N', SYSDATE, '9999999999' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM SICOF.M_CONSTANTES WHERE TRIM(DESCRIPCION) LIKE '%BLOQUEAR_TRANSACCION%'); --============================================================================== -- Fecha: 3:06 p. m. martes, 11 de mayo de 2021 - carlos.torres@ada.co -- Insert para definir la constante de registro de inicia y fin de sesión --============================================================================== INSERT INTO SICOF.M_CONSTANTES (DESCRIPCION, APLICA, VALOR, VALOR_ALFA, FECHA_REGISTRO, CODIGO_MEMPRESA) SELECT 'LOG_REGISTER_SESSION', 'S', NULL, 'S', SYSDATE, '9999999999' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM SICOF.M_CONSTANTES WHERE TRIM(DESCRIPCION) LIKE '%LOG_REGISTER_SESSION%'); --============================================================================== -- Fecha: 3:06 p. m. martes, 11 de mayo de 2021 - carlos.torres@ada.co -- Insert para definir la constante de seteo de contexto en entorno multiempresa --============================================================================== INSERT INTO SICOF.M_CONSTANTES (DESCRIPCION, APLICA, VALOR, VALOR_ALFA, FECHA_REGISTRO, CODIGO_MEMPRESA) SELECT 'APLICAR_CONTEXTO', 'N', NULL, 'N', SYSDATE, '9999999999' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM SICOF.M_CONSTANTES WHERE TRIM(DESCRIPCION) LIKE '%APLICAR_CONTEXTO%'); COMMIT;
La columna que soporta la empresa se llama CODIGO_MEMPRESA.
Este modelo permite configurar en una sola instancia de base de datos configuraciones de varias empresas por medio de la columna CODIGO_MEMPRESA la cuál es propagada en todas las tablas especificas de las funcionalidades que contiene SICOF ERP. Algunos de los clientes que soportan esta funcionalidad son:
Para activar este modelo se deben registrar/actualizar las Constantes Relacionadas con los siguientes estados:
--============================================================================== -- Fecha: 3:06 p. m. martes, 11 de mayo de 2021 - carlos.torres@ada.co -- Insert para definir la constante de bloqueo de transacción en entorno multiempresa --============================================================================== INSERT INTO SICOF.M_CONSTANTES (DESCRIPCION, APLICA, VALOR, VALOR_ALFA, FECHA_REGISTRO, CODIGO_MEMPRESA) SELECT 'BLOQUEAR_TRANSACCION', 'S', NULL, 'S', SYSDATE, '9999999999' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM SICOF.M_CONSTANTES WHERE TRIM(DESCRIPCION) LIKE '%BLOQUEAR_TRANSACCION%'); --============================================================================== -- Fecha: 3:06 p. m. martes, 11 de mayo de 2021 - carlos.torres@ada.co -- Insert para definir la constante de registro de inicia y fin de sesión --============================================================================== INSERT INTO SICOF.M_CONSTANTES (DESCRIPCION, APLICA, VALOR, VALOR_ALFA, FECHA_REGISTRO, CODIGO_MEMPRESA) SELECT 'LOG_REGISTER_SESSION', 'S', NULL, 'S', SYSDATE, '9999999999' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM SICOF.M_CONSTANTES WHERE TRIM(DESCRIPCION) LIKE '%LOG_REGISTER_SESSION%'); --============================================================================== -- Fecha: 3:06 p. m. martes, 11 de mayo de 2021 - carlos.torres@ada.co -- Insert para definir la constante de seteo de contexto en entorno multiempresa --============================================================================== INSERT INTO SICOF.M_CONSTANTES (DESCRIPCION, APLICA, VALOR, VALOR_ALFA, FECHA_REGISTRO, CODIGO_MEMPRESA) SELECT 'APLICAR_CONTEXTO', 'S', NULL, 'S', SYSDATE, '9999999999' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM SICOF.M_CONSTANTES WHERE TRIM(DESCRIPCION) LIKE '%APLICAR_CONTEXTO%'); COMMIT;
Se toma como ejemplo la implementación en la funcionalidad Cuentas por Pagar (Pre-cierre).