Skip to main content

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:

ObjetoDescripción
alp_cat_ar_clientesclientes provenientes de Oracle Accounts Receivable.
alp_cat_cdm_clientesclientes provenientes del módulo CDM.
info

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

ObjetoDescripción
general_catalogs.alp_cat_ar_clientesCatálogo de clientes provenientes de Oracle Accounts Receivable (AR).
general_catalogs.alp_cat_cdm_clientesCatá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:

PrioridadFuenteCondición
1alp_cat_ar_clientesSiempre se consideran sus registros.
2alp_cat_cdm_clientesSolo se consideran cuando no existe el mismo party_id en AR.
Condición para dar prioridad al Modulo de 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

CampoDescripción
referencia_cuentaNúmero de cuenta del cliente.
referencia_sucursalNúmero de sucursal del Cliente.

6. SQL

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;