View: po_labor_consol_all_view

Columns
  Column Name Data Type
1.   line_id tinyint
2.   po_labor_line_descriptor_key decimal(15)
3.   po_labor_line_key decimal(15)
4.   orig_po_key decimal(15)
5.   line_po_key decimal(15)
6.   owning_po_key decimal(15)
7.   pr_labor_line_descriptor_key decimal(15)
8.   pr_key decimal(15)
9.   account_key decimal(15)
10.   organization_key decimal(15)
11.   reference varchar(25)
12.   description varchar(128)
13.   project_key decimal(15)
14.   task_key decimal(15)
15.   labor_category_key decimal(15)
16.   person_key decimal(15)
17.   rate decimal(15,5)
18.   control_hours char(1)
19.   closed_date timestamp
20.   begin_date timestamp
21.   end_date timestamp
22.   internal_comments varchar(2000)
23.   external_comments varchar(2000)
24.   vi_overage char(1)
25.   hours decimal(38,2)
26.   amount decimal(38,2)
Table/Column Dependencies
Table Column
po_labor_line amount
  begin_date
  end_date
  external_comments
  hours
  internal_comments
  po_key
  po_labor_line_descriptor_key
  po_labor_line_key
  vi_overage
po_labor_line_descriptor account_key
  closed_date
  control_hours
  description
  labor_category_key
  line_id
  organization_key
  orig_po_key
  person_key
  po_key
  po_labor_line_descriptor_key
  pr_labor_line_descriptor_key
  project_key
  rate
  reference
  task_key
purchase_order document_number
  mod_number
  po_key
  pr_key
  status
SQL Server Create Statement
create view po_labor_consol_all_view
as
select
    descr.line_id,
    descr.po_labor_line_descriptor_key,
    line.po_labor_line_key,
    descr.orig_po_key,
    line.po_key as line_po_key,
    descr.po_key as owning_po_key,
    descr.pr_labor_line_descriptor_key,
    po.pr_key,
    descr.account_key,
    descr.organization_key,
    descr.reference,
    descr.description,
    descr.project_key,
    descr.task_key,
    descr.labor_category_key,
    descr.person_key,
    descr.rate,
    descr.control_hours,
    descr.closed_date,
    line.begin_date,
    line.end_date,
    line.internal_comments,
    line.external_comments,
    line.vi_overage,
    summary.hours,
    summary.amount
from po_labor_line_descriptor descr
join po_labor_line line on line.po_labor_line_descriptor_key = descr.po_labor_line_descriptor_key
join purchase_order po on po.po_key = line.po_key
join (
    select line.po_labor_line_descriptor_key,
        max(po.mod_number) mod_number,
        max(case when po.mod_number is null then document_number else null end) document_number,
        sum(line.hours) hours,
        sum(line.amount) amount
    from po_labor_line line
    join purchase_order po on po.po_key = line.po_key
        and po.status != 'CANCELED'
    group by line.po_labor_line_descriptor_key
    ) summary on summary.po_labor_line_descriptor_key = line.po_labor_line_descriptor_key
where summary.mod_number = po.mod_number
    and (
        (
            summary.document_number is null
            and summary.mod_number = po.mod_number
            )
        or summary.document_number = po.document_number
        )