Cundo uno quiere obtener el estado de la factura puede tomar referencia a la columna APPROVAL_STATUS_LOOKUP_CODE en la vista vista AP_INVOICES_V. El siguiente script le demuestra el estado por factura, tener en cuenta que esta vista necesitar inicializar los valores de organización antes de ser ejecutada.
SELECT invoice_num
,approval_status_lookup_code
FROM ap_invoices_v
WHERE invoice_num
= '&INVOICE_NUM';
Si uno compara la vista AP_INVOICES_V con la tabla AP_INVOICES_ALL esta columna no existe debido a que el objeto vista AP_INVOICES_V obtiene el valor por un API llamado AP_INVOICES_PKG.GET_APPROVAL_STATUS. El siguiente sctript demuestra como usar el API usando la tabla de facturas de Cuentas por Pagar.
select apps.ap_invoices_pkg.get_approval_status
(
i.invoice_id
,i.invoice_amount
,i.payment_status_flag
,i.invoice_type_lookup_code
) approval_status
,invoice_num
from ap_invoices_all i
where invoice_num
= '&INVOICE_NUM';
Otro forma de obtener el estado de una factura es consultando la tabla de Distribuciones AP_INVOICE_DISTRIBUTIONS_ALL . La columna MATCH_STATUS_FLAG contiene un valor que determina el estado de cada distribución los cuales pueden ser:
A - Validado
N o nula - Nunca validado
T - Necesita Revalidación
select distinct match_status_flag
from ap_invoice_distributions_all
where invoice_id =&invoice_id;
Tener en cuenta lo siguiente:
Si todas las distribuciones de factura tienen un MATCH_STATUS_FLAG = A
Nunca Validado
Si todas las distribuciones de factura tienen un MATCH_STATUS_FLAG = null o N
Necesita Revalidación
Si una o mas filas contiene retenciónes de AP_HOLDS.
Si alguna de las distribuciones de factura tienen un MATCH_STATUS_FLAG = T
Si las distribuciones de factura tienen valores mixtos(A y N).
No hay comentarios:
Publicar un comentario