miércoles, 25 de marzo de 2015

Query para obtener facturas, asociadas a ordenes de compra y recepciones

El siguiente query devuelve los valores del registro de una Orden de compra, su número de recepción, su factura asociada así como el importe y al proveedor al cual se está facturando.


SELECT (SELECT SEGMENT1
       FROM PO_VENDORS
       WHERE VENDOR_ID = V.VENDOR_ID) NRO_PROVEEDOR,
       VENDOR_NAME PROVEEDOR,
       FC.INVOICE_NUM FACTURA,
       FC.INVOICE_AMOUNT IMPORTE,
       FC.INVOICE_DATE FECHA_FACTURA,
       FC.GL_DATE FECHA_CONTABLE,
       PO_NUM ORDEN_COMPRA,
       RECEIPT_NUM NRO_RECEPCION,
       FC.AMOUNT_LINE
  FROM RCV_VRC_TXS_V V,
       (SELECT AIA.INVOICE_DATE,
               AIA.GL_DATE,
               AIA.INVOICE_NUM,
               AIA.INVOICE_AMOUNT,
               AIDA.AMOUNT AMOUNT_LINE,
               AIDA.PO_DISTRIBUTION_ID,
               AIDA.RCV_TRANSACTION_ID,
               AIDA.DIST_CODE_COMBINATION_ID
          FROM AP.AP_INVOICE_DISTRIBUTIONS_ALL AIDA,
               AP.AP_INVOICES_ALL AIA
         WHERE AIA.INVOICE_ID = AIDA.INVOICE_ID
           AND COALESCE(AIDA.REVERSAL_FLAG, 'N') = 'N'
           AND AIDA.LINE_TYPE_LOOKUP_CODE = 'ITEM'
           AND AIDA.PO_DISTRIBUTION_ID IS NOT NULL) FC
 WHERE FC.PO_DISTRIBUTION_ID = V.PO_DISTRIBUTION_ID
   AND FC.RCV_TRANSACTION_ID = V.TRANSACTION_ID
   AND PO_NUM = &ORDENCOMPRA

 ORDER BY V.PO_NUM, V.PO_LINE, V.RECEIPT_NUM;

3 comentarios:

  1. Estimado Gustavo he ejecutado el query sin suerte, el resultado me da en blanco puedes ayudarme...Muchas gracias

    ResponderEliminar
    Respuestas
    1. Es una vista que debe ser inicializada, puedes usar el siguiente ejemplo:

      begin
      FND_CLIENT_INFO.set_org_context(&org_id);---101
      EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_LANGUAGE = "LATIN AMERICAN SPANISH"';
      fnd_profile.put('GL_SET_OF_BKS_ID',&SET_OF_BKS_ID);--1001
      end;

      Eliminar