Unanet Data Model

MARGIN_VIEW

Column Name Data Type Nulls
customer_key decimal (15,0)  
project_key decimal (15,0)  
project_code varchar (30)  
manager_key decimal (15,0) YES
open_edit varchar (1) YES
quantity decimal (15,2)  
bill_amount decimal (38,6) YES
cost_amount decimal (31,6) YES
person_key decimal (15,0)  
exp_bill decimal (29,3) YES
exp_cost decimal (18,3)  
work_date datetime  
primary_key decimal (15,0)  
first_name varchar (50) YES
last_name varchar (50) YES
middle_initial varchar (1) YES
suffix varchar (10) YES
username varchar (16)  
post_date datetime YES
adjusted_number decimal (15,0) YES

  Tables Used  

TASK
EXPENSE_TYPE
PERSON_TIME_DATA
EXPENSE_DATA
PROJECT_TYPE
EXPENSE_DATA_ALLOCATION
PERSON
EXPENSE_REPORT
PERSON_TIME
PROJECT

SQL*Server Create Statement:

create view margin_view (
   customer_key, 
   project_key, 
   project_code, 
   manager_key, 
   open_edit,
   quantity, 
   bill_amount, 
   cost_amount, 
   person_key, 
   exp_bill, 
   exp_cost, 
   work_date, 
   primary_key,
   first_name,
   last_name,
   middle_initial,
   suffix,
   username,
   post_date,
   adjusted_number
) 
as
select pr.customer_key, 
       pr.project_key, 
       pr.project_code, 
       pr.manager_key, 
       pr.open_edit,
       ptd.quantity, 
       ptd.bill_rate * ptd.quantity * charindex(prt.billable, 'Y'), 
       ptd.cost_rate * ptd.quantity,
       pt.person_key,
       0,
       0, 
       ptd.work_date, 
       ptd.time_data_key,
       p.first_name,
       p.last_name,
    p.middle_initial,
       p.suffix,
       p.username,
       ptd.post_date,
       ptd.adjusted_number
  from person_time_data ptd, 
       task t, 
       project pr, 
       project_type prt, 
       person_time pt,
       person p
 where prt.project_type_key = ptd.project_type_key
   and pt.person_time_key = ptd.person_time_key
   and p.person_key = pt.person_key
   and t.task_key =* ptd.task_key
   and pr.project_key = ptd.project_key
union
select pr.customer_key, 
       pr.project_key, 
       pr.project_code, 
       pr.manager_key, 
       pr.open_edit, 
       0,
       0,
       0,
       er.owner_key,
       eda.amount * charindex(prt.billable, 'Y'),
       eda.amount, 
       ed.expense_date, 
       eda.expense_data_allocation_key,
       p.first_name,
       p.last_name,
       p.middle_initial,
       p.suffix,
       p.username,
       ed.expense_date,
       0
  from expense_data_allocation eda, 
       expense_data ed, 
       task t, 
       expense_report er, 
       project pr, 
       project_type prt, 
       expense_type et, 
       person p
 where ed.expense_data_key = eda.expense_data_key
   and prt.project_type_key = ed.project_type_key
   and er.expense_report_key = ed.expense_report_key
   and p.person_key = er.owner_key
   and et.expense_type_key = ed.expense_type_key
   and et.expense_type not in ('ADVANCE', 'CASH-RETURN')
   and t.task_key =* eda.task_key
   and pr.project_key = eda.project_key

Copyright 1998, 1999 Computer Strategies, Inc., All Rights Reserved.
Last revised: May 25, 2000 11:29:16 AM EDT