CREATE TABLE [dbo].[ca_company]
(
[company_uuid] [binary] (16) NOT NULL,
[parent_company_uuid] [binary] (16) NULL,
[company_name] [nvarchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[inactive] [int] NULL CONSTRAINT [DF__ca_compan__inact__6DEC4894] DEFAULT ((0)),
[description] [nvarchar] (400) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[company_type] [int] NULL,
[alias] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[month_fiscal_year_ends] [int] NULL,
[web_address] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[bbs] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[creation_user] [nvarchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[creation_date] [int] NULL,
[last_update_user] [nvarchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[location_uuid] [binary] (16) NULL,
[primary_contact_uuid] [binary] (16) NULL,
[version_number] [int] NULL CONSTRAINT [DF__ca_compan__versi__6EE06CCD] DEFAULT ((0)),
[last_update_date] [int] NULL,
[exclude_registration] [int] NULL,
[delete_time] [int] NULL,
[authentication_user_name] [nvarchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[authentication_password] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[source_type_id] [int] NOT NULL CONSTRAINT [DF__ca_compan__sourc__6FD49106] DEFAULT ((0)),
[auto_rep_version] [timestamp] NULL,
[domain_uuid] [binary] (16) NULL,
[tenant] [binary] (16) NULL,
[bsa_flag] [int] NULL CONSTRAINT [DF__ca_compan__bsa_f__48413059] DEFAULT ((0)),
[siia_flag] [int] NULL CONSTRAINT [DF__ca_compan__siia___49355492] DEFAULT ((0)),
[fast_flag] [int] NULL CONSTRAINT [DF__ca_compan__fast___4A2978CB] DEFAULT ((0)),
[user_priority_flag] [int] NULL CONSTRAINT [DF__ca_compan__user___4B1D9D04] DEFAULT ((0)),
[employee_count] [int] NULL,
[desktop_count] [int] NULL,
[asset_count] [int] NULL,
[authoritative] [int] NULL CONSTRAINT [DF__ca_compan__autho__37C7D5DC] DEFAULT ('0')
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE TRIGGER dbo.al_u_ca_company
ON dbo.ca_company
AFTER UPDATE
AS
if dbo.is_installed(2022) = 0
return
declare @update_date int
set @update_date = datediff(ss, '1/1/1970', getutcdate())
declare @user_name nvarchar(255)
set @user_name = SYSTEM_USER + '(al_u_ca_company)'
if update(company_type)
begin
insert into al_attribute_tracking (object_uuid, table_name, field_name, [action], old_value, new_value, creation_user, creation_date, last_update_user, last_update_date)
select i.company_uuid, 'ca_company', 'company_type', 0, d.company_type, i.company_type, @user_name, @update_date, @user_name, @update_date
from inserted i inner join deleted d on (d.company_uuid = i.company_uuid and dbo.is_different(d.company_type, i.company_type) = 1)
end
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER t_ci_ca_company ON dbo.ca_company
AFTER INSERT
AS
if update (source_type_id)
begin
update ca_company set authoritative = 1
where company_uuid in (select company_uuid from inserted where source_type_id = 1)
update ca_company set authoritative = 0
where company_uuid in (select company_uuid from inserted where source_type_id <> 1)
end
GO
ALTER TABLE [dbo].[ca_company] ADD CONSTRAINT [XPKca_company] PRIMARY KEY CLUSTERED ([company_uuid]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_company_idx_01] ON [dbo].[ca_company] ([company_name]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_company_idx_02] ON [dbo].[ca_company] ([tenant]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ca_company] ADD CONSTRAINT [ca_company_fk01] FOREIGN KEY ([primary_contact_uuid]) REFERENCES [dbo].[ca_contact] ([contact_uuid])
GO
ALTER TABLE [dbo].[ca_company] ADD CONSTRAINT [ca_company_fk02] FOREIGN KEY ([company_type]) REFERENCES [dbo].[ca_company_type] ([id])
GO
ALTER TABLE [dbo].[ca_company] ADD CONSTRAINT [ca_company_fk03] FOREIGN KEY ([parent_company_uuid]) REFERENCES [dbo].[ca_company] ([company_uuid])
GO
ALTER TABLE [dbo].[ca_company] ADD CONSTRAINT [ca_company_fk04] FOREIGN KEY ([location_uuid]) REFERENCES [dbo].[ca_location] ([location_uuid])
GO
ALTER TABLE [dbo].[ca_company] ADD CONSTRAINT [cosljoin01] FOREIGN KEY ([month_fiscal_year_ends]) REFERENCES [dbo].[al_months] ([id])
GO
ALTER TABLE [dbo].[ca_company] ADD CONSTRAINT [fk_ca_company_tenant] FOREIGN KEY ([tenant]) REFERENCES [dbo].[ca_tenant] ([id])
GO
GRANT SELECT ON [dbo].[ca_company] TO [aiadmin]
GRANT SELECT ON [dbo].[ca_company] TO [ams_group]
GRANT SELECT ON [dbo].[ca_company] TO [amsgroup]
GRANT SELECT ON [dbo].[ca_company] TO [ca_itrm_group]
GRANT INSERT ON [dbo].[ca_company] TO [ca_itrm_group]
GRANT DELETE ON [dbo].[ca_company] TO [ca_itrm_group]
GRANT UPDATE ON [dbo].[ca_company] TO [ca_itrm_group]
GRANT SELECT ON [dbo].[ca_company] TO [ca_itrm_group_ams]
GRANT SELECT ON [dbo].[ca_company] TO [regadmin]
GRANT SELECT ON [dbo].[ca_company] TO [service_desk_admin_group]
GRANT INSERT ON [dbo].[ca_company] TO [service_desk_admin_group]
GRANT DELETE ON [dbo].[ca_company] TO [service_desk_admin_group]
GRANT UPDATE ON [dbo].[ca_company] TO [service_desk_admin_group]
GRANT SELECT ON [dbo].[ca_company] TO [service_desk_ro_group]
GRANT SELECT ON [dbo].[ca_company] TO [swcmadmin]
GRANT INSERT ON [dbo].[ca_company] TO [swcmadmin]
GRANT DELETE ON [dbo].[ca_company] TO [swcmadmin]
GRANT UPDATE ON [dbo].[ca_company] TO [swcmadmin]
GRANT SELECT ON [dbo].[ca_company] TO [uapmadmin]
GRANT INSERT ON [dbo].[ca_company] TO [uapmadmin]
GRANT DELETE ON [dbo].[ca_company] TO [uapmadmin]
GRANT UPDATE ON [dbo].[ca_company] TO [uapmadmin]
GRANT SELECT ON [dbo].[ca_company] TO [uapmadmin_group]
GRANT INSERT ON [dbo].[ca_company] TO [uapmadmin_group]
GRANT DELETE ON [dbo].[ca_company] TO [uapmadmin_group]
GRANT UPDATE ON [dbo].[ca_company] TO [uapmadmin_group]
GRANT SELECT ON [dbo].[ca_company] TO [uapmbatch]
GRANT INSERT ON [dbo].[ca_company] TO [uapmbatch]
GRANT DELETE ON [dbo].[ca_company] TO [uapmbatch]
GRANT UPDATE ON [dbo].[ca_company] TO [uapmbatch]
GRANT SELECT ON [dbo].[ca_company] TO [uapmbatch_group]
GRANT INSERT ON [dbo].[ca_company] TO [uapmbatch_group]
GRANT DELETE ON [dbo].[ca_company] TO [uapmbatch_group]
GRANT UPDATE ON [dbo].[ca_company] TO [uapmbatch_group]
GRANT SELECT ON [dbo].[ca_company] TO [uapmreporting]
GRANT SELECT ON [dbo].[ca_company] TO [uapmreporting_group]
GRANT SELECT ON [dbo].[ca_company] TO [upmadmin_group]
GRANT INSERT ON [dbo].[ca_company] TO [upmadmin_group]
GRANT DELETE ON [dbo].[ca_company] TO [upmadmin_group]
GRANT UPDATE ON [dbo].[ca_company] TO [upmadmin_group]
GRANT SELECT ON [dbo].[ca_company] TO [upmuser_group]
GRANT INSERT ON [dbo].[ca_company] TO [upmuser_group]
GRANT DELETE ON [dbo].[ca_company] TO [upmuser_group]
GRANT UPDATE ON [dbo].[ca_company] TO [upmuser_group]
GO