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"."VM_VENTAS_AUXILIARES_COMISION_USEM" ("ID_ZONA", "CODIGO_ZONA", "ID_SUCURSAL", "CODIGO_SUCURSAL", "NOMBRE_SUCURSAL", "ID_VERP", "VENDEDOR", "PRIMER_NOMBRE", "APELLIDOS", "IDENTIFICACION", "FECHA_VIGENCIA_VENDEDOR", "ID_VENTA", "FECHA_VENTA", "ANIO", "MES", "DIA", "CARGO", "COMISIONADOR", "NO_COMISIONADOR", "VALOR_BONO", "CODIGO_CONCEPTO", "LINEA_COMISION", "TIPO", "COMISION", "TOTAL_CANTIDAD", "VALOR_VENTA", "VALOR_COMISIONADO")
SEGMENT CREATION IMMEDIATE
ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
BUILD IMMEDIATE
USING INDEX
REFRESH COMPLETE ON DEMAND
USING DEFAULT LOCAL ROLLBACK SEGMENT
USING ENFORCED CONSTRAINTS DISABLE ON QUERY COMPUTATION DISABLE QUERY REWRITE
AS WITH
sucursales_zonas AS (
SELECT
szue.ID_ZOUSERP AS ID_ZONA,
zue.CODIGO AS CODIGO_ZONA,
zue.NOMBRE AS NOMBRE_ZONA,
szue.ID_SUERP AS ID_SUCURSAL,
se.CODIGO AS CODIGO_SUCURSAL,
se.NOMBRE AS NOMBRE_SUCURSAL
FROM SIMACMOBILE.SUCURSAL_ZONA_USEM_ERP szue
JOIN SIMACMOBILE.SUCURSAL_ERP se ON se.ID_SUERP = szue.ID_SUERP
JOIN SIMACMOBILE.ZONA_USEM_ERP zue ON zue.ID_ZOUSERP = szue.ID_ZOUSERP
WHERE szue.ESTADO_REGISTRO = 'A'
AND se.ESTADO_REGISTRO = 'A'
AND se.CODIGO_ORGANIZACION LIKE 'E!_%' ESCAPE '!'
AND zue.ESTADO_REGISTRO = 'A'
),
referencia_excluida AS (
SELECT rei.ID_REEXIN, re.ID_REERP, re.CODIGO FROM SIMACMOBILE.REFERENCIA_ERP re
JOIN SIMACMOBILE.REFERENCIA_EXCLUIDA_IND rei ON rei.ID_REERP = re.ID_REERP
WHERE rei.USEM = 1
AND rei.ESTADO_REGISTRO = 'A'
),
vista_venta_historico AS (
SELECT
sucursales_zonas.ID_ZONA,
sucursales_zonas.CODIGO_ZONA,
sucursales_zonas.NOMBRE_ZONA,
sucursales_zonas.ID_SUCURSAL,
sucursales_zonas.CODIGO_SUCURSAL,
sucursales_zonas.NOMBRE_SUCURSAL,
vvhe.ID_VEHIERP AS ID_VENTA,
vvhe.VENDEDOR,
vvhe.CANTIDAD,
vvhe.VALOR_UNITARIO,
vvhe.CATEGORIA_REFERENCIA,
vvhe.MARCA,
vvhe.FECHA_VENTA,
EXTRACT(YEAR FROM vvhe.FECHA_VENTA) ANIO,
EXTRACT(MONTH FROM vvhe.FECHA_VENTA) MES,
EXTRACT(DAY FROM vvhe.FECHA_VENTA) DIA
FROM SIMACMOBILE.VISTA_VENTA_HISTORICO_ERP vvhe
JOIN sucursales_zonas ON sucursales_zonas.CODIGO_SUCURSAL = vvhe.SUCURSAL
LEFT JOIN referencia_excluida rex ON rex.CODIGO = vvhe.CODIGO
JOIN SIMACMOBILE.REFERENCIA_ERP re ON re.CODIGO = vvhe.CODIGO
WHERE rex.ID_REEXIN IS NULL
AND vvhe.CLIENTE_NIT <> '890300225'
AND re.SUBLINEA_COMERCIAL <> 'MANO_DE_OBRA_TERCEROS_CVI'
AND vvhe.FECHA_VENTA >= ADD_MONTHS(SYSDATE, -12)
),
venta_historico AS (
SELECT
sucursales_zonas.ID_ZONA,
sucursales_zonas.CODIGO_ZONA,
sucursales_zonas.NOMBRE_ZONA,
sucursales_zonas.ID_SUCURSAL,
sucursales_zonas.CODIGO_SUCURSAL,
sucursales_zonas.NOMBRE_SUCURSAL,
vhe.ID_VEHIERP AS ID_VENTA,
vhe.CODIGO_VENDEDOR,
vhe.DESC_ITEM,
vhe.ID_REERP,
vhe.CANTIDAD_ITEM,
vhe.MONTO_UNITARIO_ITEM,
vhe.FECHA_VENTA,
EXTRACT(YEAR FROM vhe.FECHA_VENTA) ANIO,
EXTRACT(MONTH FROM vhe.FECHA_VENTA) MES,
EXTRACT(DAY FROM vhe.FECHA_VENTA) DIA
FROM SIMACMOBILE.VENTA_HISTORICO_ERP vhe
JOIN sucursales_zonas ON sucursales_zonas.ID_SUCURSAL = vhe.ID_SUERP
LEFT JOIN referencia_excluida rex ON rex.ID_REERP = vhe.ID_REERP
WHERE rex.ID_REEXIN IS NULL
AND vhe.CLIENTE_NIT <> '890300225'
AND vhe.FECHA_VENTA >= ADD_MONTHS(SYSDATE, -12)
),
homologacion AS (
SELECT CODIGO_CATEGORIA, MARCA, LINEA_COMISION
FROM SIMACMOBILE.HOMOLOGACION_CATEGORIA_REFERENCIA_USEM_ERP hcrue
JOIN SIMACMOBILE.CATEGORIAXREFERENCIA_ERP ce ON ce.ID_CAREERP = hcrue.ID_CAREERP
),
ventas_individuales AS (
SELECT
vvhe.ID_ZONA,
vvhe.CODIGO_ZONA,
vvhe.ID_SUCURSAL,
vvhe.CODIGO_SUCURSAL,
vvhe.NOMBRE_SUCURSAL,
ve.ID_VERP,
ve.CODIGO AS VENDEDOR,
ve.PRIMER_NOMBRE,
ve.APELLIDOS,
ve.IDENTIFICACION,
gvue.VIGENTE AS FECHA_VIGENCIA_VENDEDOR,
vvhe.ID_VENTA,
vvhe.FECHA_VENTA,
vvhe.ANIO,
vvhe.MES,
vvhe.DIA,
teue.CODIGO AS CARGO,
COALESCE(cvcue.INDICADOR_COMISION, 0) AS COMISIONADOR,
CASE
WHEN gvue.ID_GAVEUSERP IS NULL THEN 0
ELSE 1
END AS NO_COMISIONADOR,
COALESCE(gvue.VALOR_BONO, 0) AS VALOR_BONO,
ccue.CODIGO AS CODIGO_CONCEPTO,
homologacion.LINEA_COMISION,
'I' AS TIPO,
CASE
WHEN COALESCE(cvcue.INDICADOR_COMISION, 0) = 1 THEN
CASE
WHEN ctcue.ID_TACOUSERP = cvcue.ID_TACOUSERP THEN ccue.PONDERACION_BASE
ELSE 0
END
ELSE 0
END AS COMISION,
vvhe.CANTIDAD AS TOTAL_CANTIDAD,
vvhe.CANTIDAD * vvhe.VALOR_UNITARIO AS VALOR_VENTA,
vvhe.CANTIDAD * vvhe.VALOR_UNITARIO * CASE
WHEN COALESCE(cvcue.INDICADOR_COMISION, 0) = 1 THEN ccue.PONDERACION_BASE
ELSE 0
END * 0.01 AS VALOR_COMISIONADO
FROM SIMACMOBILE.VENDEDOR_ERP ve
LEFT JOIN SIMACMOBILE.GARANTIZADO_VENDEDOR_USEM_ERP gvue ON gvue.ID_VERP = ve.ID_VERP AND gvue.ESTADO_REGISTRO = 'A'
LEFT JOIN SIMACMOBILE.CLASIFICACION_VENDEDOR_COMISION_USEM_ERP cvcue ON cvcue.ID_VERP = ve.ID_VERP AND cvcue.ESTADO_REGISTRO = 'A'
JOIN SIMACMOBILE.VENDEDOR_TIPO_EMPLEADO_USEM_ERP vteue ON vteue.ID_VERP = ve.ID_VERP
JOIN SIMACMOBILE.TIPO_EMPLEADO_USEM_ERP teue ON teue.ID_TIEMUSERP = vteue.ID_TIEMUSERP
JOIN vista_venta_historico vvhe ON substr(vvhe.VENDEDOR,1,7) = substr(ve.CODIGO,1,7)
JOIN homologacion ON homologacion.CODIGO_CATEGORIA = vvhe.CATEGORIA_REFERENCIA AND homologacion.MARCA = vvhe.MARCA
LEFT JOIN SIMACMOBILE.CONCEPTO_COMISION_USEM_ERP ccue ON ccue.DESCRIPCION = homologacion.LINEA_COMISION
LEFT JOIN SIMACMOBILE.CONCEPTO_TABLA_COMISION_USEM_ERP ctcue ON ctcue.ID_COCOUSERP = ccue.ID_COCOUSERP
JOIN SIMACMOBILE.TIPO_CONCEPTO_COMISION_USEM_ERP tccue ON tccue.ID_TICOCOERP = ccue.TIPO_CONCEPTO
WHERE ve.ESTADO_REGISTRO = 'A'
AND ve.CODIGO LIKE '%EN%'
AND tccue.CODIGO = 'C'
),
mano_obra AS (
SELECT
vhe.ID_ZONA,
vhe.CODIGO_ZONA,
vhe.ID_SUCURSAL,
vhe.CODIGO_SUCURSAL,
vhe.NOMBRE_SUCURSAL,
ve.ID_VERP,
ve.CODIGO AS VENDEDOR,
ve.PRIMER_NOMBRE,
ve.APELLIDOS,
ve.IDENTIFICACION,
gvue.VIGENTE AS FECHA_VIGENCIA_VENDEDOR,
vhe.ID_VENTA,
vhe.FECHA_VENTA,
vhe.ANIO,
vhe.MES,
vhe.DIA,
teue.CODIGO AS CARGO,
COALESCE(cvcue.INDICADOR_COMISION, 0) AS COMISIONADOR,
CASE
WHEN gvue.ID_GAVEUSERP IS NULL THEN 0
ELSE 1
END AS NO_COMISIONADOR,
COALESCE(gvue.VALOR_BONO, 0) AS VALOR_BONO,
ccue.CODIGO AS CODIGO_CONCEPTO,
ccue.DESCRIPCION AS LINEA_COMISION,
'I' AS TIPO,
CASE
WHEN COALESCE(cvcue.INDICADOR_COMISION, 0) = 1 THEN
CASE
WHEN ctcue.ID_TACOUSERP = cvcue.ID_TACOUSERP THEN ccue.PONDERACION_BASE
ELSE 0
END
ELSE 0
END AS COMISION,
vhe.CANTIDAD_ITEM AS TOTAL_CANTIDAD,
vhe.CANTIDAD_ITEM * vhe.MONTO_UNITARIO_ITEM AS VALOR_VENTA,
vhe.CANTIDAD_ITEM * vhe.MONTO_UNITARIO_ITEM * CASE
WHEN COALESCE(cvcue.INDICADOR_COMISION, 0) = 1 THEN
CASE
WHEN ctcue.ID_TACOUSERP = cvcue.ID_TACOUSERP THEN ccue.PONDERACION_BASE
ELSE 0
END
ELSE 0
END * 0.01 AS VALOR_COMISIONADO
FROM SIMACMOBILE.VENDEDOR_ERP ve
LEFT JOIN SIMACMOBILE.GARANTIZADO_VENDEDOR_USEM_ERP gvue ON gvue.ID_VERP = ve.ID_VERP AND gvue.ESTADO_REGISTRO = 'A'
LEFT JOIN SIMACMOBILE.CLASIFICACION_VENDEDOR_COMISION_USEM_ERP cvcue ON cvcue.ID_VERP = ve.ID_VERP AND cvcue.ESTADO_REGISTRO = 'A'
JOIN SIMACMOBILE.VENDEDOR_TIPO_EMPLEADO_USEM_ERP vteue ON vteue.ID_VERP = ve.ID_VERP
JOIN SIMACMOBILE.TIPO_EMPLEADO_USEM_ERP teue ON teue.ID_TIEMUSERP = vteue.ID_TIEMUSERP
JOIN venta_historico vhe ON vhe.CODIGO_VENDEDOR = ve.CODIGO
JOIN SIMACMOBILE.REFERENCIA_ERP re ON re.ID_REERP = vhe.ID_REERP
LEFT JOIN SIMACMOBILE.CONCEPTO_COMISION_USEM_ERP ccue ON
(ccue.DESCRIPCION LIKE 'MANO OBRA DEL 30%' AND LOWER(vhe.DESC_ITEM) NOT LIKE '%descarbonizacion%')
OR (ccue.DESCRIPCION = 'MANO OBRA DEL 15%' AND LOWER(vhe.DESC_ITEM) LIKE '%descarbonizacion%')
LEFT JOIN SIMACMOBILE.CONCEPTO_TABLA_COMISION_USEM_ERP ctcue ON ctcue.ID_COCOUSERP = ccue.ID_COCOUSERP
JOIN SIMACMOBILE.TIPO_CONCEPTO_COMISION_USEM_ERP tccue ON tccue.ID_TICOCOERP = ccue.TIPO_CONCEPTO
WHERE ve.ESTADO_REGISTRO = 'A'
AND re.LINEA = 'MANO_DE_OBRA'
AND ve.CODIGO LIKE '%EN%'
AND tccue.CODIGO = 'C'
),
ventas_agrupadas AS (
SELECT
*
FROM (
SELECT * FROM ventas_individuales
UNION ALL
SELECT * FROM mano_obra
) ventas
)
SELECT * FROM ventas_agrupadas;