Diccionario de Datos

Logo

Diccionario de datos de los modelos de COÉXITO

🏠 Menú principal ← Volver a vistas simples

SIMACMOBILE.VISTA_REPORTE_FACTURACION_CONTADO

Base de datos origen: ORCLSMM

Tipo de objeto: VIEW

SQL


  CREATE OR REPLACE FORCE EDITIONABLE VIEW "SIMACMOBILE"."VISTA_REPORTE_FACTURACION_CONTADO" ("ID_FACTURA", "FECHA", "PREFIJO", "CONSECUTIVO", "NUMERO_RECIBO", "NIT", "RAZON_SOCIAL", "SITE", "TIPO", "UNIDAD_MEDIDA", "CANTIDAD", "TOTAL", "NUMERO_RECIBO_SW", "MONTO_RECIBO", "FRANQUICIA", "FECHA_ENVIO_INVENTARIO", "ESTADO_ENVIO_INVENTARIO", "CAUSA_ERROR_INVENTARIO", "FECHA_ENVIO_FACTURA", "ESTADO_ENVIO_FACTURA", "CAUSA_ERROR_FACTURACION", "FECHA_ENVIO_RECIBO", "ESTADO_ENVIO_RECIBO", "CAUSA_ERROR_RECIBO", "FECHA_PROCESO", "ESTADO_ENVIO_CLIENTE", "CAUSA_ERROR_CLIENTE", "CODIGO_APROBACION_RECIBO") AS 
  SELECT DISTINCT i.id_factura, i.fecha, i.prefijo, i.consecutivo,
  	i.prefijo || Coalesce(r.consecutivo_recibo_sw, i.consecutivo) AS NUMERO_RECIBO,
      i.nit, i.razon_social, i.site,
      ( CASE WHEN i.descripcion_referencia LIKE '%GNV%' THEN 'Gas' ELSE 'Liquido' END )AS TIPO,
      re.unidad_medida, i.cantidad, i.total, NVL(r.numero_recibo_sw, i.recibo) AS NUMERO_RECIBO_SW,
      CASE WHEN r.monto = 0 OR r.monto IS NULL THEN To_number(i.total) ELSE r.monto END AS MONTO_RECIBO,
      r.franquicia, icel.fecha_creacion AS FECHA_ENVIO_INVENTARIO, i.estado_envio_inventario,
      CASE WHEN 'INVENTARIO ERROR' =  i.estado_envio_inventario THEN NVL(icel.descripcion_serv_orcl, 'Causa de error no encontrada en la trazabilidad') END AS CAUSA_ERROR_INVENTARIO,
      fcel.fecha_creacion AS FECHA_ENVIO_FACTURA, i.estado_envio_factura,
      CASE WHEN 'INVENTARIO ERROR' !=  i.estado_envio_inventario AND 'FACTURA ERROR' = i.estado_envio_factura THEN NVL(fcel.descripcion_serv_orcl, 'Causa de error no encontrada en la trazabilidad') END AS CAUSA_ERROR_FACTURACION,
      reel.fecha_creacion AS FECHA_ENVIO_RECIBO,
      i.estado_envio_recibo,
      CASE WHEN 'RECIBO ERROR' = i.estado_envio_recibo THEN NVL(reel.descripcion_serv_orcl, 'Causa de error no encontrada en la trazabilidad') END AS CAUSA_ERROR_RECIBO,
      i.fecha_proceso,
      i.ESTADO_ENVIO_CLIENTE,
      CASE WHEN 'CLIENTE ERROR' = i.ESTADO_ENVIO_CLIENTE  THEN 'El cliente con site '|| i.SITE ||' no ha sido creado en Oracle' END AS CAUSA_ERROR_CLIENTE,
      r.codigo_aprobacion as CODIGO_APROBACION_RECIBO
  FROM SIMACMOBILE.FACTURA_EDS i
  LEFT JOIN (
  	SELECT DISTINCT numero_recibo_sw,
  	    --Max(consecutivo_recibo_sw) AS CONSECUTIVO_RECIBO_SW,
  	    consecutivo_recibo_sw AS CONSECUTIVO_RECIBO_SW,
        --SUM(monto) AS MONTO,
        NVL(monto,0) AS MONTO,
        franquicia, codigo_aprobacion, fecha_hora, estado_registro
      FROM   simacmobile.recibo_enviado_eds
      WHERE  estado_registro = 'A'
      --GROUP  BY numero_recibo_sw, franquicia, codigo_aprobacion, fecha_hora, estado_registro
  ) r ON i.recibo = r.numero_recibo_sw
  left join simacmobile.referencia_erp re ON i.codigo_referencia = re.codigo
  left join (
      SELECT MAX_REG_INVENTARIO_CONTADO_EDS_LOG.id_invcolg,icel.fecha_proceso,icel.fecha_creacion,
          icel.status_serv_orcl, icel.code_serv_orcl, icel.descripcion_serv_orcl, icel.numero_factura
      FROM   (
          SELECT Max(id_invcolg) AS ID_INVCOLG, fecha_proceso
          FROM   simacmobile.inventario_contado_eds_log
          GROUP  BY numero_factura, fecha_proceso
      ) MAX_REG_INVENTARIO_CONTADO_EDS_LOG
      left join simacmobile.inventario_contado_eds_log icel ON MAX_REG_INVENTARIO_CONTADO_EDS_LOG.id_invcolg = icel.id_invcolg
  ) icel ON ( i.numero_oracle = icel.numero_factura AND i.fecha_proceso = icel.fecha_proceso )
  left join (
  	SELECT MAX_REG_FACTURACION_CONTADO_EDS_LOG.id_faccolg, fcel.fecha_proceso, fcel.fecha_creacion,
  		fcel.status_serv_orcl, fcel.code_serv_orcl, fcel.descripcion_serv_orcl, fcel.numero_factura
      FROM   (
          SELECT Max(id_faccolg) AS ID_FACCOLG, fecha_proceso
          FROM   simacmobile.facturacion_contado_eds_log
          GROUP  BY numero_factura, fecha_proceso
      ) MAX_REG_FACTURACION_CONTADO_EDS_LOG
      left join simacmobile.facturacion_contado_eds_log fcel ON MAX_REG_FACTURACION_CONTADO_EDS_LOG.id_faccolg = fcel.id_faccolg
  ) fcel ON ( i.numero_oracle = fcel.numero_factura AND i.fecha_proceso = fcel.fecha_proceso )
  left join (
  	SELECT MAX_REG_RECIBO_ENVIADO_EDS_LOG.id_recenvolg, reel.fecha_proceso, reel.fecha_creacion, reel.status_serv_orcl,
          reel.code_serv_orcl, reel.descripcion_serv_orcl, reel.numero_factura
      FROM   (
          SELECT Max(id_recenvolg) AS ID_RECENVOLG, fecha_proceso
          FROM   simacmobile.recibo_enviado_eds_log
          GROUP  BY numero_factura, fecha_proceso
      ) MAX_REG_RECIBO_ENVIADO_EDS_LOG
      left join simacmobile.recibo_enviado_eds_log reel ON MAX_REG_RECIBO_ENVIADO_EDS_LOG.id_recenvolg = reel.id_recenvolg
  ) reel ON ( i.numero_oracle = reel.numero_factura AND i.fecha_proceso = reel.fecha_proceso )
  WHERE i.ESTADO_REGISTRO = 'A';

← Volver al esquema SIMACMOBILE

🏠 Volver al menú principal