Diccionario de datos de los modelos de COÉXITO
| 🏠 Menú principal | ← Volver a vistas materializadas |
Base de datos origen: ORCLSMM
Tipo de objeto: MATERIALIZED VIEW
CREATE MATERIALIZED VIEW "SIMACMOBILE"."VIEW_LK_COMERCIAL_BI" ("ID_VEHIERP", "CODIGO_ITEM", "CLIENTE_NIT", "CLIENTE_RAZON_SOCIAL", "VENDEDOR", "DESC_ITEM", "SUCURSAL", "CANTIDAD", "VALOR_UNITARIO", "FECHA_VENTA", "TIPO_TRANS", "TRANSACCION_ORIGINAL", "NUMERO_FACTURA", "ID_SUERP", "DOCUMENTO_ORACLE", "ORDEN_PEDIDO", "NUMERO_LINEA", "COSTO_ITEM", "NOMBRE_SUCURSAL", "DESCRIPCION", "ITEM_CODIGO_SIMAC", "LINEA_REF", "LINEA_COMERCIAL", "SUBLINEA_COMERCIAL", "RAZON_SOCIAL", "CLIENTE_SITE", "CC_VENDEDOR", "NOMBRE_VENDEDOR", "CORREO_VENDEDOR", "ZONA", "MESA", "SUB_CATEGORIA", "LINEA", "EQUIVALENCIA_GALONES", "NUMERO_TELEFONO", "MARCA")
SEGMENT CREATION IMMEDIATE
ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
BUILD DEFERRED
USING INDEX
REFRESH FORCE ON DEMAND
USING DEFAULT LOCAL ROLLBACK SEGMENT
USING ENFORCED CONSTRAINTS DISABLE ON QUERY COMPUTATION DISABLE QUERY REWRITE
AS WITH ZONAS_MESAS AS (
select DISTINCT TERRITORIO,
cod_vendedor,
ZONA
from simacmobile.presupuesto_erp
where anio = (SELECT MAX(ANIO)from simacmobile.presupuesto_erp)
AND MES = (SELECT MAX(MES) from simacmobile.presupuesto_erp WHERE anio = (SELECT MAX(ANIO)from simacmobile.presupuesto_erp))
),
ZONA_VENTA_HISTORICO AS (
SELECT
DISTINCT VEHI.ID_VEHIERP,
CASE WHEN VEHI.TIPO_TRANS LIKE '%NC%' THEN CASE WHEN VHE.ZONA IS NOT NULL
AND SUBSTR(VHE.ZONA, 4, 1) = '-' THEN VHE.ZONA ELSE CASE WHEN PRES2.ZONA IS NOT NULL THEN PRES2.ZONA ELSE CASE WHEN VHE.CODIGO_VENDEDOR IS NOT NULL THEN CASE WHEN SUBSTR(VHE.CODIGO_VENDEDOR, 4, 1) = 'C'
OR SUBSTR(VHE.CODIGO_VENDEDOR, 4, 2) = 'CE' THEN CONCAT(SUBSTR(VHE.CODIGO_VENDEDOR, 1, 3), '-100') END ELSE CASE WHEN PRES.ZONA IS NOT NULL THEN PRES.ZONA ELSE CASE WHEN SUBSTR(VEHI.CODIGO_VENDEDOR, 4, 1) = 'C'
OR SUBSTR(VEHI.CODIGO_VENDEDOR, 4, 2) = 'CE' THEN CONCAT(SUBSTR(VEHI.CODIGO_VENDEDOR, 1, 3), '-100') END END END END END ELSE CASE WHEN VEHI.ZONA IS NOT NULL
AND SUBSTR(VEHI.ZONA, 4, 1) = '-' THEN VEHI.ZONA ELSE CASE WHEN PRES.ZONA IS NOT NULL THEN PRES.ZONA ELSE CASE WHEN SUBSTR(VEHI.CODIGO_VENDEDOR, 4, 1) = 'C'
OR SUBSTR(VEHI.CODIGO_VENDEDOR, 4, 2) = 'CE' THEN CONCAT(SUBSTR(VEHI.CODIGO_VENDEDOR, 1, 3), '-100') END END END END AS ZONA
FROM
SIMACMOBILE.VENTA_HISTORICO_ERP VEHI
LEFT JOIN (
SELECT
MES,
ANIO,
COD_VENDEDOR,
MIN(ZONA) ZONA
FROM
SIMACMOBILE.PRESUPUESTO_ERP
GROUP BY
MES,
ANIO,
COD_VENDEDOR
ORDER BY
MES,
ZONA,
COD_VENDEDOR,
ANIO
) PRES ON PRES.COD_VENDEDOR = substr(VEHI.CODIGO_VENDEDOR,1,7)
AND EXTRACT(
MONTH
FROM
VEHI.FECHA_VENTA
) = PRES.MES
AND EXTRACT(
YEAR
FROM
VEHI.FECHA_VENTA
) = PRES.ANIO
LEFT JOIN SIMACMOBILE.VENTA_HISTORICO_ERP VHE ON VHE.DOCUMENTO_ORACLE = VEHI.TRANSACCION_ORIGINAL
AND VEHI.TIPO_TRANS LIKE '%NC%'
AND (VHE.CODIGO_VENDEDOR LIKE '%C%')
AND (VHE.TIPO_TRANS LIKE '%FV%')
AND (
VEHI.CODIGO_SUCURSAL_ORACLE = VHE.CODIGO_SUCURSAL_ORACLE
)
LEFT JOIN (
SELECT
MES,
ANIO,
COD_VENDEDOR,
MIN(ZONA) ZONA
FROM
SIMACMOBILE.PRESUPUESTO_ERP
GROUP BY
MES,
ANIO,
COD_VENDEDOR
ORDER BY
MES,
ZONA,
COD_VENDEDOR,
ANIO
) PRES2 ON PRES2.COD_VENDEDOR = substr(VHE.CODIGO_VENDEDOR,1,7)
AND EXTRACT(
MONTH
FROM
VEHI.FECHA_VENTA
) = PRES2.MES
AND EXTRACT(
YEAR
FROM
VEHI.FECHA_VENTA
) = PRES2.ANIO
WHERE
(VEHI.CODIGO_VENDEDOR LIKE '%C%')
AND (
VEHI.TIPO_TRANS LIKE '%FV%'
OR VEHI.TIPO_TRANS LIKE '%BP%'
OR VEHI.TIPO_TRANS LIKE '%ND%'
OR VEHI.TIPO_TRANS LIKE '%NC%'
OR VEHI.TIPO_TRANS LIKE '%RB%'
)
)
--HISTORICO VENTAS
SELECT DISTINCT
vehi2.id_vehierp,
vehi2.codigo_item,
vehi2.cliente_nit,
vehi2.cliente_razon_social,
vehi2.codigo_vendedor AS VENDEDOR,
vehi2.desc_item,
vehi.sucursal,
vehi2.cantidad_item as CANTIDAD,
vehi2.monto_unitario_item as VALOR_UNITARIO,
vehi2.fecha_venta,
vehi2.tipo_trans,
vehi2.transaccion_original,
vehi2.numero_factura,
vehi2.id_suerp,
vehi2.documento_oracle,
VEHI2.ORDEN_PEDIDO,
VEHI2.NUMERO_LINEA,
VEHI2.COSTO_ITEM,
SUER.NOMBRE AS NOMBRE_SUCURSAL,
REFE.DESCRIPCION, REFE.ITEM_CODIGO_SIMAC, refe.LINEA AS LINEA_REF, refe.LINEA_COMERCIAL, refe.SUBLINEA_COMERCIAL,
VEHI2.CLIENTE_RAZON_SOCIAL AS RAZON_SOCIAL,
VEHI2.CLIENTE_SITE,
VENDE.IDENTIFICACION AS CC_VENDEDOR, VENDE.PRIMER_NOMBRE || ' ' ||VENDE.SEGUNDO_NOMBRE || ' ' || VENDE.APELLIDOS AS NOMBRE_VENDEDOR,
VENDE.CORREO AS CORREO_VENDEDOR,
--ZOVE.ZONA, ZOVE.MESA, ZOVE.ESTADO,
CASE WHEN VEHI2.ZONA IS NOT NULL AND VEHI2.ZONA LIKE '%-%' THEN VEHI2.ZONA ELSE ZVH.ZONA END AS ZONA,
--ZONA.MESA,
--PRES.TERRITORIO AS MESA,
ZM.TERRITORIO AS MESA,
SUB.SUB_CATEGORIA,
SUB.LINEA ,
REFE.EQUIVALENCIA_GALONES,
clie.numero_telefono,
VEHI.MARCA
FROM SIMACMOBILE.venta_historico_erp VEHI2
LEFT JOIN SIMACMOBILE.VISTA_VENTA_HISTORICO_ERP VEHI ON VEHI.ID_VEHIERP = VEHI2.ID_VEHIERP
LEFT JOIN SIMACMOBILE.REFERENCIA_ERP REFE ON REFE.CODIGO = VEHI.CODIGO
LEFT JOIN simacmobile.cliente_erp CLIE ON CLIE.SITE = vehi2.CLIENTE_SITE
LEFT JOIN ZONA_VENTA_HISTORICO ZVH ON ZVH.id_vehierp = VEHI2.id_vehierp
LEFT JOIN ZONAS_MESAS ZM ON ZM.ZONA = ZVH.ZONA
LEFT JOIN (
SELECT
DISTINCT ZONA,
MIN(TERRITORIO) TERRITORIO,
MES,
COD_VENDEDOR
FROM simacmobile.PRESUPUESTO_ERP
GROUP BY ZONA,TERRITORIO,MES,COD_VENDEDOR
)PRES ON PRES.ZONA = ZVH.ZONA
LEFT JOIN (
SELECT
HORE.SUB_CATEGORIA,
HORE.EXCLUIR,
HORE.LINEA,
HORE.MARCA,
CARE.CODIGO_CATEGORIA
FROM
SIMACMOBILE.HOMOLOGACION_CATEGORIA_REFERENCIA_ERP HORE
JOIN SIMACMOBILE.CATEGORIAXREFERENCIA_ERP CARE ON CARE.ID_CAREERP = HORE.ID_CAREERP
) SUB ON SUB.CODIGO_CATEGORIA = VEHI.CATEGORIA_REFERENCIA
AND SUB.MARCA = VEHI.MARCA
LEFT JOIN SIMACMOBILE.VENDEDOR_ERP VENDE ON VENDE.ID_VERP = VEHI2.ID_VERP
LEFT JOIN SIMACMOBILE.SUCURSAL_ERP SUER ON SUER.CODIGO = VEHI.SUCURSAL
WHERE 1=1
AND vehi2.codigo_item NOT IN (SELECT codigo FROM SIMACMOBILE.REFERENCIA_ERP re
JOIN SIMACMOBILE.REFERENCIA_EXCLUIDA_IND rei ON rei.ID_REERP = re.ID_REERP
WHERE rei.CEDI = 1 AND
rei.ESTADO_REGISTRO = 'A')
AND vehi2.codigo_vendedor NOT LIKE '%EN%'
--AND VEHI2.FECHA_VENTA <= SYSDATE AND VEHI2.FECHA_VENTA >= TO_DATE ('01/11/2024', 'dd/mm/yyyy')
AND SUBSTR(vehi2.codigo_sucursal_oracle,1,3) IN('100','101','200','201','202','300','400','500','501','502','503','600')
;