Diccionario de datos de los modelos de COÉXITO
| 🏠 Menú principal | ← Volver a vistas simples |
Base de datos origen: ORCLSMM
Tipo de objeto: VIEW
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';