PO Query - Linking the PO Receiving Tables to the PO Tables
The records from the porecdtl table can be linked to the poitems table by the field uniqlnno. And the PO number can be determined from the poitems table.
 
There is a connection between PO receiving and PO schedule table.  The link is in the Porecloc.Uniqdetno=Poitschd.Uniqdetno. In Poitschd table.  There also is a link for CompleteDt field which will have the data when all the quantities for that schedule are received.  
 
However, due to the many different opinions as to what exactly the complete date is and how to measure supplier's performance we are unable to create a "Vendor On-Time Delivery Report".  In the effort of doing something towards this issue we have saved the original commit date, because the schedule date is really a moving target and it just reflect when the supplier is finally going to deliver, but it doesn't mean that it was what they promised. 

The reason is that it is usually the case where the supplier ships and the product is received at a date earlier or later than the scheduled date. And they may not ship enough, or may overship against the next order. Here’s an example:
 

schedule

qty

Receipts

qty

remainder

1-May

100

30-Apr

80

-20

10-May

50

30

15-May

150

-120

16-May

200

80

19-May

150

230

20-May

200

30

1-Jun

150

1-Jun

120

0

5-Jun

200

200

10-Jun

200

0


In this case, the May 1st schedule was shipped early, but not complete. It was made up by May 10th.
May 15th was missed, unless you count the 30 extras from May 10th. Then it was overshipped  on the 16th.
The May 20th schedule was shipped a day early, with excess quantity.
The June 1st  had some excess from the previous shipment, and got caught up on schedule and quantity
The June 10th schedule was received 5 days early.
 
Some users want to only measure what came in on the day of the schedule, and only count it if it is 100 percent complete.  Others will allow a tolerance of a couple of days early to a day or so late, and still count as on tiem.  So it's difficult to come up with the scheme that will work for every user.