Diccionario de Datos

Logo

Diccionario de datos de los modelos de COÉXITO

🏠 Menú principal ← Volver a vistas materializadas

SIMACMOBILE.VIEW_LK_COMERCIAL_BI

Base de datos origen: ORCLSMM

Tipo de objeto: MATERIALIZED VIEW

SQL


  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')

    ;

← Volver al esquema SIMACMOBILE

🏠 Volver al menú principal