Diccionario de Datos

Logo

Diccionario de datos de los modelos de COÉXITO

🏠 Menú principal ← Volver a vistas materializadas

SIMACMOBILE.VM_GVTA_TRANSACCIONES

Base de datos origen: ORCLSMM

Tipo de objeto: MATERIALIZED VIEW

SQL


  CREATE MATERIALIZED VIEW "SIMACMOBILE"."VM_GVTA_TRANSACCIONES" ("ID_ORDEN", "ID_INTERNO_YOM", "ID_PRODUCTO", "ID_COMERCIO", "ID_CLIENTE", "ID_VENDEDOR", "RUTA_VISITA", "FECHA_FACTURA", "TIPO_DOCUMENTO", "CODIGO_DOCUMENTO", "CANTIDAD_ITEM", "MONTO_UNITARIO_LINEA", "MONTO_UNITARIO_LINEA_DTO", "MONTO_UNITARIO_IMPTO", "MONTO_UNITARIO_IMPTO_DTO", "MONTO_UNITARIO_DTO", "MONTO_UNITARIO_LINEA_IMPTO", "MONTO_UNITARIO_LINEA_DTO_IMPTO", "MONEDA", "ORIGEN", "CANAL_VENTA", "FECHA_ENTREGA", "DOCUMENTO_REFEERENCIA", "CODIGO_CUPON", "TRANSACCION_ELIMINADA", "PRECIO_UNITARIO_DESPACHO", "FECHA_CREACION", "FECHA_MODIFICACION", "CANTIDAD_POR_MONTO_MONTO_UNITARIO_DCTO_CONTROL")
  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 consulta_linea AS (
  SELECT  
	    	DOCUMENTO_ORACLE,
	    	CODIGO_ITEM,
	    	SUM(CANTIDAD_ITEM) AS CANTIDAD_ITEM_DCTO,
	    	MONTO_UNITARIO_ITEM AS MONTO_UNITARIO_DCTO,
	    	MONTO_IMPUESTO AS MONTO_IMPUESTO_DCTO
	  	FROM SIMACMOBILE.VENTA_HISTORICO_ERP vhe
	  	WHERE DESC_ITEM = 'QP_DISCOUNT_ADJ'
        AND VHE.FECHA_VENTA >= ADD_MONTHS(TRUNC(SYSDATE), -24)
	  	AND (TIPO_TRANS NOT LIKE 'BP%')
        AND SUBSTR(vhe.CODIGO_VENDEDOR, 4,1) IN ('C')
	  	GROUP BY DOCUMENTO_ORACLE, CODIGO_ITEM, MONTO_UNITARIO_ITEM, MONTO_IMPUESTO, CANTIDAD_ITEM
),
base_ventas AS (
  SELECT vhe.FECHA_CREACION, vhe.FECHA_MODIFICACION, VHE.DOCUMENTO_ORACLE, VHE.NUMERO_FACTURA,  VHE.ORDEN_PEDIDO, VHE.CODIGO_ITEM, VHE.CLIENTE_SITE, VHE.CODIGO_VENDEDOR, VHE.FECHA_VENTA,
		    SUBSTR(VHE.TIPO_TRANS || ' ', 1, INSTR(VHE.TIPO_TRANS || ' ', ' ') - 1) AS TIPO_TRANS_CORTO,
		    SUM(VHE.CANTIDAD_ITEM) AS CANTIDAD_ITEM, VHE.MONTO_UNITARIO_ITEM AS MONTO_UNITARIO_ITEM, VHE.MONTO_IMPUESTO AS MONTO_IMPUESTO, VHE.MONEDA
	    FROM SIMACMOBILE.VENTA_HISTORICO_ERP VHE
		WHERE VHE.DESC_ITEM <> 'QP_DISCOUNT_ADJ'
		and VHE.FECHA_VENTA >= ADD_MONTHS(TRUNC(SYSDATE), -24)
		AND (VHE.TIPO_TRANS NOT LIKE 'BP%')
		AND NOT EXISTS (
			SELECT 1 FROM SIMACMOBILE.REFERENCIA_EXCLUIDA_IND REEX
			WHERE REEX.ID_REERP = VHE.ID_REERP 
		)
        AND SUBSTR(vhe.CODIGO_VENDEDOR, 4,1) IN ('C')
		GROUP BY vhe.FECHA_CREACION, vhe.FECHA_MODIFICACION, VHE.DOCUMENTO_ORACLE, VHE.NUMERO_FACTURA,  VHE.ORDEN_PEDIDO, VHE.CODIGO_ITEM, VHE.CLIENTE_SITE, 
			VHE.CODIGO_VENDEDOR, VHE.FECHA_VENTA, VHE.TIPO_TRANS, MONTO_IMPUESTO, MONTO_UNITARIO_ITEM, VHE.MONEDA, CANTIDAD_ITEM
)
SELECT
  nvl(VHE.ORDEN_PEDIDO, VHE.NUMERO_FACTURA) AS ID_ORDEN,
  gop.ORDEN_ID_INTERNO  AS ID_INTERNO_YOM,
  VHE.CODIGO_ITEM AS ID_PRODUCTO,
  VHE.CLIENTE_SITE AS ID_COMERCIO,
  VHE.CLIENTE_SITE AS ID_CLIENTE,
  VHE.CODIGO_VENDEDOR AS ID_VENDEDOR,
  NVL(TRIM(GVRT.RUTA_VISITA), '1-5V,2-4V,2-5V') AS RUTA_VISITA,
  VHE.FECHA_VENTA AS FECHA_FACTURA,
  CASE VHE.TIPO_TRANS_CORTO
    WHEN 'FV' THEN 'INVOICE'
    WHEN 'NC' THEN 'CREDIT_NOTE'
    WHEN 'RB' THEN 'CREDIT_NOTE'
    WHEN 'ND' THEN 'DEBIT_NOTE'
    ELSE 'ORDER'
  END AS TIPO_DOCUMENTO,
  VHE.NUMERO_FACTURA AS CODIGO_DOCUMENTO,
  VHE.CANTIDAD_ITEM,
  ROUND(ABS(VHE.MONTO_UNITARIO_ITEM), 2) AS MONTO_UNITARIO_LINEA,
  ROUND(ABS(VHE.MONTO_UNITARIO_ITEM + NVL(CLI.MONTO_UNITARIO_DCTO, 0)), 2) AS MONTO_UNITARIO_LINEA_DTO,
  ROUND(ABS(CASE 
    WHEN VHE.CANTIDAD_ITEM > 0 THEN (VHE.MONTO_IMPUESTO - NVL(CLI.MONTO_IMPUESTO_DCTO, 0)) / VHE.CANTIDAD_ITEM 
    ELSE 0 
    END), 6) AS MONTO_UNITARIO_IMPTO,
  ROUND(ABS(CASE 
    WHEN VHE.CANTIDAD_ITEM > 0 
    THEN (VHE.MONTO_IMPUESTO - NVL(CLI.MONTO_IMPUESTO_DCTO, 0)) / VHE.CANTIDAD_ITEM 
    ELSE 0 
    END + NVL(CLI.MONTO_UNITARIO_DCTO, 0)), 2) AS MONTO_UNITARIO_IMPTO_DTO,
  ROUND(ABS(NVL(CLI.MONTO_UNITARIO_DCTO, 0) * -1), 6) AS MONTO_UNITARIO_DTO,
  ROUND(ABS(
    VHE.MONTO_UNITARIO_ITEM + 
    CASE 
    WHEN VHE.CANTIDAD_ITEM > 0 
      THEN (VHE.MONTO_IMPUESTO - NVL(CLI.MONTO_IMPUESTO_DCTO, 0)) / VHE.CANTIDAD_ITEM 
      ELSE 0 
    END), 2) AS MONTO_UNITARIO_LINEA_IMPTO,
  ROUND(ABS(VHE.MONTO_UNITARIO_ITEM + NVL(CLI.MONTO_UNITARIO_DCTO, 0) + 
    CASE 
      WHEN VHE.CANTIDAD_ITEM > 0 
      THEN (VHE.MONTO_IMPUESTO - NVL(CLI.MONTO_IMPUESTO_DCTO, 0)) / VHE.CANTIDAD_ITEM 
      ELSE 0 
    END), 6) AS MONTO_UNITARIO_LINEA_DTO_IMPTO,
  VHE.MONEDA,
  'CARGA INICIAL' AS ORIGEN,
  'APLICACION MOVIL' AS CANAL_VENTA,
  CAST(NULL AS VARCHAR2(50)) AS FECHA_ENTREGA,
  CAST(NULL AS VARCHAR2(50)) AS DOCUMENTO_REFEERENCIA,
  CAST(NULL AS VARCHAR2(50)) AS CODIGO_CUPON,
  0 AS TRANSACCION_ELIMINADA,
  ABS(ROUND(VHE.MONTO_UNITARIO_ITEM, 6)) AS PRECIO_UNITARIO_DESPACHO,
  VHE.FECHA_CREACION,
  VHE.FECHA_MODIFICACION,
  ROUND((VHE.CANTIDAD_ITEM * VHE.MONTO_UNITARIO_ITEM) + (VHE.CANTIDAD_ITEM * NVL(CLI.MONTO_UNITARIO_DCTO, 0)),6) CANTIDAD_POR_MONTO_MONTO_UNITARIO_DCTO_CONTROL
FROM base_ventas vhe
LEFT JOIN consulta_linea CLI 
  ON CLI.CODIGO_ITEM = VHE.CODIGO_ITEM 
    AND CLI.DOCUMENTO_ORACLE = VHE.DOCUMENTO_ORACLE
	  AND CLI.CANTIDAD_ITEM_DCTO = VHE.CANTIDAD_ITEM
LEFT JOIN SIMACMOBILE.CLIENTE_ERP cle 
  ON vhe.cliente_site = cle.site
LEFT JOIN SIMACMOBILE.GVTA_RUTERO GVRT 
  ON GVRT.ID_CLERP = cle.ID_CLERP
LEFT JOIN SIMACMOBILE.GVTA_ORDEN_PEDIDO gop 
  ON gop.ORDEN_ID = VHE.ORDEN_PEDIDO
WHERE VHE.FECHA_VENTA >= ADD_MONTHS(TRUNC(SYSDATE), -24);

← Volver al esquema SIMACMOBILE

🏠 Volver al menú principal