Tuesday, 11 August 2020

Requisition to PO details Query

SELECT   PORH.SEGMENT1 REQUISITION_NUM,

         PORH.CREATION_DATE REQUISITION_DATE,

         PORH.APPROVED_DATE REQUISITION_APPROVED_DATE,

         DECODE (PORH.SEGMENT1,

                 NULL, '',

                 NVL (PORH.AUTHORIZATION_STATUS, 'INCOMPLETE'))

            REQUISITION_STATUS,

         PORL.LINE_NUM REQUISITION_LINE_NUM,

         XXMB_GET_ITEM_CODE (PORL.ITEM_ID, PORL.ORG_ID) REQUISITION_PRODUCTID,

         PORL.ITEM_DESCRIPTION REQUISITION_ITEM_DESCRIPTION,

         PORD.REQ_LINE_QUANTITY REQUISITION_QUANTITY_ORDERED,

         PORL.UNIT_PRICE REQUISITION_UNIT_PRICE,

         (PORL.UNIT_PRICE * PORD.REQ_LINE_QUANTITY) REQUISITION_AMOUNT,

         PORL.CURRENCY_CODE REQUISITION_CURRENCY_CODE,

         PORL.RATE REQUISITION_RATE,

         DECODE (PORL.CURRENCY_CODE,

                 'USD', PORL.UNIT_PRICE * PORD.REQ_LINE_QUANTITY,

                 PORL.UNIT_PRICE * PORL.RATE * PORD.REQ_LINE_QUANTITY)

            REQ_AMT_USD,

         PORL.NEED_BY_DATE,

         DECODE (

            GCC.SEGMENT4,

            NULL,

            '',

            SUBSTR (

               APPS.GL_FLEXFIELDS_PKG.GET_DESCRIPTION_SQL (

                  GCC.CHART_OF_ACCOUNTS_ID,

                  4,

                  GCC.SEGMENT4

               ),

               1,

               40

            )

         )

            SEGMENT4_DESC,

         DECODE (

            GCC.SEGMENT5,

            NULL,

            '',

            SUBSTR (

               APPS.GL_FLEXFIELDS_PKG.GET_DESCRIPTION_SQL (

                  GCC.CHART_OF_ACCOUNTS_ID,

                  5,

                  GCC.SEGMENT5

               ),

               1,

               40

            )

         )

            SEGMENT5_DESC,

         REQUESTOR.FULL_NAME REQUESTOR,

         PO_DETAILS.PO_NUM,

         PO_DETAILS.PO_DATE,

         PO_DETAILS.APPROVED_DATE,

         PO_DETAILS.PO_STATUS,

         PO_DETAILS.VENDOR_NAME,

         PO_DETAILS.PO_LINE_NUM,

         PO_DETAILS.PO_PRODUCTID,

         PO_DETAILS.PO_ITEM_DESCRIPTION,

         PO_DETAILS.PO_QUANTITY_ORDERED,

         PO_DETAILS.PO_UNIT_PRICE,

         PO_DETAILS.PO_AMT,

         PO_DETAILS.PO_CURRENCY_CODE,

         PO_DETAILS.PO_RATE,

         PO_DETAILS.PO_AMT_USD,

         PO_DETAILS.BUYER_NAME,

         PO_DETAILS.PROMISED_DATE,

         PO_DETAILS.PO_CLOSED_STATUS,

         (PO_DETAILS.APPROVED_DATE - PORH.APPROVED_DATE) PR_TO_PO_DAYS

  FROM   PO_REQUISITION_HEADERS_ALL PORH,

         PO_REQUISITION_LINES_ALL PORL,

         PO_REQ_DISTRIBUTIONS_ALL PORD,

         GL_CODE_COMBINATIONS GCC,

         (SELECT   *

            FROM   PER_ALL_PEOPLE_F

           WHERE   SYSDATE BETWEEN EFFECTIVE_START_DATE

                               AND  EFFECTIVE_END_DATE) REQUESTOR,

         (SELECT   PO.SEGMENT1 PO_NUM,

                   PO.CREATION_DATE PO_DATE,

                   PO.APPROVED_DATE,

                   DECODE (PO.SEGMENT1,

                           NULL, '',

                           NVL (PO.AUTHORIZATION_STATUS, 'INCOMPLETE'))

                      PO_STATUS,

                   POVEN.VENDOR_NAME,

                   POL.LINE_NUM PO_LINE_NUM,

                   XXMB_GET_ITEM_CODE (POL.ITEM_ID,

                                       POLOC.SHIP_TO_ORGANIZATION_ID)

                      PO_PRODUCTID,

                   POL.ITEM_DESCRIPTION PO_ITEM_DESCRIPTION,

                   PODIS.QUANTITY_ORDERED PO_QUANTITY_ORDERED,

                   POL.UNIT_PRICE PO_UNIT_PRICE,

                   (POL.UNIT_PRICE * PODIS.QUANTITY_ORDERED) PO_AMT,

                   PO.CURRENCY_CODE PO_CURRENCY_CODE,

                   PODIS.RATE PO_RATE,

                   DECODE (

                      PO.CURRENCY_CODE,

                      'USD',

                      POL.UNIT_PRICE * PODIS.QUANTITY_ORDERED,

                      POL.UNIT_PRICE * PODIS.RATE * PODIS.QUANTITY_ORDERED

                   )

                      PO_AMT_USD,

                   BUYER.FULL_NAME BUYER_NAME,

                     POLOC.PROMISED_DATE

                   - TRUNC (PO.CREATION_DATE)

                   + NVL (TRUNC (PO.APPROVED_DATE), SYSDATE)

                      PROMISED_DATE,

                   POL.CLOSED_CODE PO_CLOSED_STATUS,

                   PODIS.REQ_DISTRIBUTION_ID

            FROM   PO_HEADERS_ALL PO,

                   PO_VENDORS POVEN,

                   PO_LINES_ALL POL,

                   PO_LINE_LOCATIONS_ALL POLOC,

                   PO_DISTRIBUTIONS_ALL PODIS,

                   (SELECT   *

                      FROM   PER_ALL_PEOPLE_F

                     WHERE   SYSDATE BETWEEN EFFECTIVE_START_DATE

                                         AND  EFFECTIVE_END_DATE) BUYER

           WHERE       PO.PO_HEADER_ID = POL.PO_HEADER_ID

                   AND PO.PO_HEADER_ID = POLOC.PO_HEADER_ID

                   AND POVEN.VENDOR_ID = PO.VENDOR_ID

                   AND PO.PO_HEADER_ID = PODIS.PO_HEADER_ID

                   AND POL.PO_LINE_ID = POLOC.PO_LINE_ID

                   AND POL.PO_LINE_ID = PODIS.PO_LINE_ID

                   AND BUYER.PERSON_ID = PO.AGENT_ID) PO_DETAILS

 WHERE       PORH.REQUISITION_HEADER_ID = PORL.REQUISITION_HEADER_ID

         AND PORL.REQUISITION_LINE_ID = PORD.REQUISITION_LINE_ID

         AND GCC.CODE_COMBINATION_ID = PORD.CODE_COMBINATION_ID

         AND PORD.DISTRIBUTION_ID = PO_DETAILS.REQ_DISTRIBUTION_ID(+)

         AND REQUESTOR.PERSON_ID(+) = TO_PERSON_ID

No comments:

Post a Comment