Saturday, 26 September 2015

Join between PO and PA modules -- Oracle Apps

SELECT *
FROM   PA_PROJECTS_ALL PA,
  PA_TASKS PT,
  PO_DISTRIBUTIONS_ALL PDA,
  PO_LINE_LOCATIONS_ALL PLLA,
  PO_LINES_ALL PLA,
  PO_HEADERS_ALL PHA,
          PURCHASE_TAX_V IPPTV,
  PO_REQ_DISTRIBUTIONS_ALL PRDA,
  PO_REQUISITION_LINES_ALL PRLA,
  PO_REQUISITION_HEADERS_ALL PRHA,
  PER_ALL_PEOPLE_F PAPF,
  PER_ALL_PEOPLE_F PAPF1,
  AP SUPPLIDRS PV
WHERE  PA.PROJECT_ID = PT.PROJECT_ID
AND   PT.TASK_ID = PDA.TASK_ID
AND   PDA.LINE_LOCATION_ID = PLLA.LINE_LOCATION_ID
AND   PLLA.PO_LINE_ID = PLA.PO_LINE_ID
AND   PLA.PO_HEADER_ID = PHA.PO_HEADER_ID
AND   IPPTV.LINE_LOCATION_ID(+) = PLLA.LINE_LOCATION_ID
AND   PDA.REQ_DISTRIBUTION_ID = PRDA.DISTRIBUTION_ID(+)
AND   PRDA.REQUISITION_LINE_ID = PRLA.REQUISITION_LINE_ID(+)
AND   PRLA.REQUISITION_HEADER_ID = PRHA.REQUISITION_HEADER_ID(+)
AND   PAPF.PERSON_ID = PHA.AGENT_ID
AND   PAPF1.PERSON_ID(+) = PRHA.PREPARER_ID
AND   PHA.VENDOR_ID = PV.VENDOR_ID(+)
AND  (PHA.CANCEL_FLAG IS NULL OR PHA.CANCEL_FLAG = 'N')
AND  (PLA.CANCEL_FLAG IS NULL OR PLA.CANCEL_FLAG = 'N')
AND  (PLLA.CANCEL_FLAG IS NULL OR PLLA.CANCEL_FLAG = 'N')
--AND  PHA.SEGMENT1 = NVL(:PO_NUM,PHA.SEGMENT1)
--AND   PA.SEGMENT1 BETWEEN DECODE(:PA_SEGMENT1,'ALL',PA.SEGMENT1,:PA_SEGMENT1) AND DECODE(:PA_SEGMENT1_1,'ALL',PA.SEGMENT1,:PA_SEGMENT1_1)
--AND   TRUNC(PHA.CREATION_DATE) BETWEEN :FROM_PO_DATE AND :TO_PO_DATE

No comments:

Post a Comment