Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


  En este apartado se podrá consultar el procedimiento para dar alta de alta las empresas y catálogos, así como los scripts que se utilizan para eso.

Catálogos por país

Cuando se va a crear una empresa para un país nuevo, es necesario dar de alta los catálogos por país, antes de crear la empresa.

Antes de inicial la creación de los catálogos, se tiene que configurar la información en la tabla de país:

  • separador_mil
  • separador_decimal
  • formato_numero
  • formato_fecha

Estos se incluyen de acuerdo a la información del país.

Los siguientes catálogos se configuran en su tabla correspondiente.

  • Zona_horaria

Code Block
titleZona_horaria
-- Inicializa variables
SET @i_pais_id = 0;

-- Obtiene información del país
select p.pais_id into @i_pais_id
from pais as p 
where p.pais_clave = 'PY';

-- Zona horaria
INSERT INTO zona_horaria (pais_id, zona_horaria_clave, zona_horaria, zona_horaria_orden, gmt_desfase, tz)
SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id
       'H.PYT' as zona_horaria_clave,
       'HORA DE PARAGUAY' as zona_horaria,
       100 as zona_horaria_orden,
       -4 as gmt_desfase,
       'America/Paraguay' as tz
  from zona_horaria
  where zona_horaria_id = 0
        and @i_pais_id not in (select pais_id from zona_horaria);
  • Estado

Code Block
titleEstado
-- Inicializa variables
SET @i_zona_horaria_id = 0;

-- Obtiene información de zona_horaria
select zn.zona_horaria_id into @i_zona_horaria_id
from zona_horaria as zn 
where zn.pais_id = @i_pais_id;

INSERT INTO estado (pais_id, estado_clave, estado, estado_orden, zona_horaria_id) 
SELECT @i_pais_id AS pais_id, -- utilizar variable o pais_id
       'ASU' as estado_clave, 
       'Distrito capital' as estado, 
       100 as estado_orden, 
       @i_zona_horaria_id as zona_horaria_id
from estado
  where estado_id = 0
        and 'ASU' not in
    (select estado_clave
     from estado
     where pais_id = @i_pais_id)
  and 'Distrito capital' not in
    (select estado
     from estado
     where pais_id = @i_pais_id);
  • Municipio

Code Block
titleMunicipio
-- Inicializa variables
SET @i_estado_id = 0;

-- Obtiene información de Estado
select e.estado_id into @i_estado_id
from estado as e
where e.pais_id = @i_pais_id -- utilizar variable o pais_id
and e.estado_clave = 'ASU';

INSERT INTO municipio (estado_id, municipio_clave, municipio, municipio_orden)
SELECT @i_estado_id AS estado_id, 
       'ASU-CAPI' as municipio_clave, 
       'Capital' as municipio, 
       100 as municipio_orden
from municipio
  where municipio_id = 0
        and 'ASU-CAPI' not in
    (select municipio_clave
     from municipio
     where estado_id = @i_estado_id)
  and 'Capital' not in
    (select municipio
     from municipio
     where estado_id = @i_estado_id);
  • Niveles

Code Block
titleNivel
INSERT INTO nivel (pais_id, nivel_clave, nivel, nivel_orden, abreviatura, fecha_actualizacion, persona_rol_id, version)
SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id
'001' as nivel_clave,
'Inicial' as nivel,
100 as nivel_orden,
'I' as abreviatura,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id,
0 as version
from nivel
where nivel_id = 0
and '001' not in (select nivel_clave from nivel where pais_id = @i_pais_id)
and 'Inicial' not in (select nivel from nivel where pais_id = @i_pais_id);

Colocar el persona_rol_id o utilizar variable. De igual forma pais_id.

  • Grados

Code Block
titleGrados
-- Inicializa variables
SET @i_nivel_id = 0;

-- Obtiene información de Grado
select n.nivel_id into @i_nivel_id
from nivel as n
where n.pais_id = @i_pais_id -- utilizar variable o pais_id
and n.nivel_clave = '001';

INSERT INTO grado (nivel_id, grado_clave, grado, grado_orden, activo, fecha_actualizacion, persona_rol_id, version)
SELECT @i_nivel_id as nivel_id,
'3EI' as grado_clave,
'Pre-Jardín' as grado,
100 as grado_orden,
1 as activo,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id,  -- utilizar variable o id
0 as version
from grado
where grado_id = 0
and '3EI' not in (select grado_clave from grado where nivel_id = @i_nivel_id)
and 'Pre-Jardín' not in (select grado from grado where nivel_id = @i_nivel_id);
  • Grupos

Code Block
titleGrupos
INSERT INTO grupo (pais_id, grupo_clave, grupo, grupo_orden, turno_id, version)
  SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id
         grupo_clave, 
		 grupo, 
		 grupo_orden, 
		 turno_id, 
		 version
   from grupo
   where pais_id = 165 -- empresa base
   and grupo_clave not in
   (select grupo_clave
   from grupo
   where pais_id = @i_pais_id)
   and grupo not in
   (select grupo
   from grupo
   where pais_id = @i_pais_id);
  • Turno

Este catálogo es por empresa, por lo que tiene que colocarse la empresa base o hacer el insert por el turno que se requiera.

Para crear este catálogo, la empresa destino tiene que estar creada.

Code Block
titleTurno
-- TURNO
INSERT INTO turno (empresa_id, turno_clave, turno, turno_orden)
 SELECT @i_empresa_id,
        turno_clave, 
		turno, 
		turno_orden
 from turno
 where empresa_id = 8 -- empresa base.
   and turno_clave not in
   (select turno_clave
    from turno
	where empresa_id = @i_empresa_id)
   and turno not in
   (select turno
	from turno
	where empresa_id = @i_empresa_id);
  • Moneda

Este catálogo es necesario si alguna de las empresas del país llevará aplicaciones de Pagos, Acuerdos o GA.

Code Block
titleMoneda
-- MONEDA
INSERT INTO moneda (pais_id, moneda_clave, moneda, moneda_orden, parametro, leyenda_anterior, leyenda_posterior, simbolo)
SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id
       'MXN' as moneda_clave,
       'Pesos Mexicanos' as moneda,
       100 as moneda_orden,
       'MN' as parametro,
       'PESOS' as leyenda_anterior,
       'M.N.' as leyenda_posterior,
       '$' as simbolo
from moneda
where moneda_id = 0
   and 'MXN' not in 
   (select moneda_clave
   from moneda where pais_id = @i_pais_id)
   and 'Pesos Mexicanos' not in 
   (select moneda
   from moneda where pais_id = @i_pais_id);

Alta de empresa

Cuando se dan de alta las empresas, es necesario que se proporcionen los siguientes datos:

...

Ejemplo:

...

Las variables que se van a utilizar regularmente para estos scripts son los siguientes:

Code Block
themeEclipse
titleVARIABLES
-- Inicializa variables
SET @i_persona_rol_id = 0;
SET @i_pais_id = 0;
SET @i_empresa_id = 0;
Set @i_ciclo_escolar_id = 0;

Se obtiene la información del país para utilizarlo dentro de los inserts.

Code Block
themeEclipse
titleInfo_pais
-- Obtiene información del país al que pertenecerá la empresa
select p.pais_id into @i_pais_id
from pais as p 
where p.pais_clave = 'SV';

Para realizar los inserts de alta de empresa, se debe validar la última empresa que fue creada y colocar directamente el id de la empresa y el orden.

  • Empresa

Code Block
themeEclipse
titleEMPRESA
-- EMPRESA
INSERT INTO empresa(empresa_id, pais_id, empresa_clave, empresa, empresa_orden, sap_id, parametro)
SELECT 60 as empresa_id,
       @i_pais_id as pais_id,
       'SV.LIVE' as empresa_clave,
       'Be+Live El Salvador' as empresa,
       10042000 as empresa_orden,
       '0000' as sap_id,
       'SV/LIVE' as parametro
from empresa
where empresa_id = 0
   and 60 not in 
   (select empresa_id 
   from empresa);

Una vez que se tiene la empresa creada, se puede obtener la información de esta para la variable.

...

themeEclipse
titleInfo_empresa

...

sus respectivos catálogos.

También se comentan los catálogos necesarios para los módulos administrativos.


  • Turno

Este catálogo es por empresa, por lo que tiene que colocarse la empresa base o hacer el insert por el turno que se requiera.

Para crear este catálogo, la empresa destino tiene que estar creada.

Code Block
titleTurno
-- TURNO
INSERT INTO turno (empresa_id, turno_clave, turno, turno_orden)
 SELECT @i_empresa_id,
        turno_clave, 
		turno, 
		turno_orden
 from turno
 where empresa_id = 8 -- empresa base.
   and turno_clave not in
   (select turno_clave
    from turno
	where empresa_id = @i_empresa_id)
   and turno not in
   (select turno
	from turno
	where empresa_id = @i_empresa_id);


Alta de empresa

Cuando se dan de alta las empresas, es necesario que se proporcionen los siguientes datos:

PaísClave empresaNombre de empresaParámetroEmpresa base de configuración

Ejemplo:

PaisClave empresaNombre de empresaParámetroEmpresa base de configuración
El Salvador SV.LIVEBe+Live El Salvador SV/LIVE Be+live MX.




Para realizar los inserts de alta de empresa, se debe validar la última empresa que fue creada y colocar directamente el id de la empresa y el orden.



  • Ciclo escolar y periodos de evaluación

...