Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:pb:implements:setupmulti-company

¡Esta es una revisión vieja del documento!


PowerBuilder - Implementaciones - Contexto Multiempresa

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.

Constantes Relacionadas

Para soportar la funcionalidad Multiempresa existen 3 constantes relacionadas las cuales se describen a continuación:

  • BLOQUEAR_TRANSACCION: Esta constante permite bloquear la transacción en el entorno Multiempresa para asegurar que los datos modificados persisten en la empresa de la sesión iniciada. Aplica cuando se utiliza el API de contexto.
  • APLICAR_CONTEXTO: Esta constante adiciona al contexto local de sesión el código de la empresa cuando se utiliza el API de contexto.
  • LOG_REGISTER_SESSION: Esta constante utilitaria se utiliza para registrar el Inicio y Fin de Sesión (Normal) en SICOF ERP. Se relaciona en el modelo multiempresa porque permite guardar la empresa de la sesión iniciada. Esta API es implementada automáticamente en los procesos de Login y Logout del sistema.

Modelos de Contexto de Empresa SICOF ERP

Existe 2 modelos de empresa soportados en SICOF ERP los cuales estan definidos en el siguiente repositorio http://adacsc.co:1443/svn/repository/ADA/SICOF/Documentos/Desarrollos/PowerBuilder/ScriptsDB/Tags/App/Financiero/25%20ENTORNO%20MULTIEMPRESA SVN

Modelo Uni-Empresa

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:

  • ADA
  • LaPoint
  • VIVA
  • Valor+
  • AMVA
  • Metroparques
  • CAR
  • Unillanos

Para activar este modelo se deben registrar/actualizar las Constantes Relacionadas en el siguiente script 0001b CONSTANTES ENTORNO MULTIEMPRESA INACTIVO.sql 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;

Nota

La columna que soporta la empresa se llama CODIGO_MEMPRESA.

Modelo Multi-Empresa

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:

  • FOSEMED
  • FINEB

Para activar este modelo se deben registrar/actualizar las Constantes Relacionadas en el siguiente scripts 0001a CONSTANTES ENTORNO MULTIEMPRESA ACTIVO.sql 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;

Notas

  • Las tablas específicas son aquellas que soportan funcionalidades por cada empresa configurada. Ejemplo: Asientos Contables.
  • Las tablas generales son aquellas que comparten la información por todas las empresas configuradas. Ejemplo: Constantes.

Ejemplo de uso de la Consola de Procesos

Se toma como ejemplo la implementación en la funcionalidad Cuentas por Pagar (Pre-cierre).

ada/howto/sicoferp/pb/implements/setupmulti-company.1621425981.txt.gz · Última modificación: 2021/05/19 12:06 por 192.168.177.29