cat_oracle_clientes
1. Descripción
La vista general_catalogs.cat_oracle_clientes proporciona una vista consolidada de la información de clientes utilizada por el Catálogo Maestro.
La vista integra información proveniente de dos fuentes:
| Objeto | Descripción |
|---|---|
alp_cat_ar_clientes | clientes provenientes de Oracle Accounts Receivable. |
alp_cat_cdm_clientes | clientes provenientes del módulo CDM. |
La información proveniente de Oracle Accounts Receivable (AR) tiene prioridad. Los registros provenientes de CDM únicamente se incorporan cuando no existe un cliente con el mismo party_id en la fuente de AR.
De esta forma, la vista evita duplicar clientes entre ambas fuentes y proporciona una fuente consolidada para los procesos de integración y consulta.
2. Origen de los datos
| Objeto | Descripción |
|---|---|
general_catalogs.alp_cat_ar_clientes | Catálogo de clientes provenientes de Oracle Accounts Receivable (AR). |
general_catalogs.alp_cat_cdm_clientes | Catálogo de clientes provenientes de Customer Data Management (CDM). |
3. Lógica de consolidación
La vista utiliza la siguiente lógica:
alp_cat_ar_clientes
│
│
│ Prioridad 1
│
▼
Clientes AR
│
│
├───────────────┐
│ │
│ │
▼ │
UNION ALL │
▲ │
│ │
CDM únicamente si no existe │
el mismo party_id en AR │
│ │
▼ │
alp_cat_cdm_clientes
│
▼
Clientes CDM
│
▼
Catálogo consolidado
│
▼
cat_oracle_clientes
4. Regla de prioridad de fuentes
La vista aplica la siguiente regla:
| Prioridad | Fuente | Condición |
|---|---|---|
| 1 | alp_cat_ar_clientes | Siempre se consideran sus registros. |
| 2 | alp_cat_cdm_clientes | Solo se consideran cuando no existe el mismo party_id en AR. |
WHERE NOT EXISTS (
SELECT 1
FROM alp_cat_ar_clientes ar
WHERE ar.party_id = cdm.party_id
)
Esto significa que, cuando un cliente existe tanto en AR como en CDM, se conserva únicamente el registro proveniente de AR.
5. Identificación del cliente
| Campo | Descripción |
|---|---|
referencia_cuenta | Número de cuenta del cliente. |
referencia_sucursal | Número de sucursal del Cliente. |
6. SQL
- Código
- Ejecución en BD
- Ejecución de Activas
CREATE OR REPLACE VIEW general_catalogs.cat_oracle_clientes AS
SELECT
canal_tipo_cuenta,
desc_canal_tipo_cuenta,
canal_400_tipo_cuenta,
subcanal,
desc_subcanal,
cedis_asignado,
desc_cedis_asignado,
cedis_asignado_400,
grupo_comercial,
desc_grupo_comercial,
grupo_comercial_400,
segmentacion_categoria_externa,
desc_segmentacion_categoria_externa,
clase_cuenta,
desc_clase_cuenta,
numero_cuenta_cliente,
nombre_cuenta_cliente,
referencia_cuenta,
cedis_asignado_as400,
grupo_concentrador,
desc_grupo_concentrador,
agrupacion_ibp,
desc_agrupacion_ibp,
categoria_interna,
desc_categoria_interna
FROM (
SELECT
ar.canal_tipo_cuenta,
ar.desc_canal_tipo_cuenta,
ar.canal_400_tipo_cuenta,
ar.subcanal,
ar.desc_subcanal,
ar.cedis_asignado,
ar.desc_cedis_asignado,
ar.cedis_asignado_400,
ar.grupo_comercial,
ar.desc_grupo_comercial,
ar.grupo_comercial_400,
ar.segmentacion_categoria_externa,
ar.desc_segmentacion_categoria_externa,
ar.clase_cuenta,
ar.desc_clase_cuenta,
ar.numero_cuenta_cliente,
ar.nombre_cuenta_cliente,
ar.referencia_cuenta,
ar.cedis_asignado_as400,
ar.grupo_concentrador,
ar.desc_grupo_concentrador,
ar.agrupacion_ibp,
ar.desc_agrupacion_ibp,
ar.categoria_interna,
ar.desc_categoria_interna
FROM alp_cat_ar_clientes ar
UNION ALL
SELECT
cdm.canal_tipo_cuenta,
cdm.desc_canal_tipo_cuenta,
cdm.canal_400_tipo_cuenta,
cdm.subcanal,
cdm.desc_subcanal,
cdm.cedis_asignado,
cdm.desc_cedis_asignado,
cdm.cedis_asignado_400,
cdm.grupo_comercial,
cdm.desc_grupo_comercial,
cdm.grupo_comercial_400,
cdm.segmentacion_categoria_externa,
cdm.desc_segmentacion_categoria_externa,
cdm.clase_cuenta,
cdm.desc_clase_cuenta,
cdm.numero_cuenta_cliente,
cdm.nombre_cuenta_cliente,
cdm.referencia_cuenta,
cdm.cedis_asignado_as400,
cdm.grupo_concentrador,
cdm.desc_grupo_concentrador,
cdm.agrupacion_ibp,
cdm.desc_agrupacion_ibp,
cdm.categoria_interna,
cdm.desc_categoria_interna
FROM alp_cat_cdm_clientes cdm
WHERE NOT EXISTS (
SELECT 1
FROM alp_cat_ar_clientes ar
WHERE ar.party_id = cdm.party_id
)
) unnamed_subquery
GROUP BY
canal_tipo_cuenta,
desc_canal_tipo_cuenta,
canal_400_tipo_cuenta,
subcanal,
desc_subcanal,
cedis_asignado,
desc_cedis_asignado,
cedis_asignado_400,
grupo_comercial,
desc_grupo_comercial,
grupo_comercial_400,
segmentacion_categoria_externa,
desc_segmentacion_categoria_externa,
clase_cuenta,
desc_clase_cuenta,
numero_cuenta_cliente,
nombre_cuenta_cliente,
referencia_cuenta,
cedis_asignado_as400,
grupo_concentrador,
desc_grupo_concentrador,
agrupacion_ibp,
desc_agrupacion_ibp,
categoria_interna,
desc_categoria_interna;
SELECT *
FROM general_catalogs.cat_oracle_clientes;
SELECT *
FROM general_catalogs.cat_oracle_clientes;
WHERE is_active = TRUE;