
[dbo].[ca_resource_class]
CREATE TABLE [dbo].[ca_resource_class]
(
[id] [int] NOT NULL,
[inactive] [int] NOT NULL CONSTRAINT [DF__ca_resour__inact__65E11278] DEFAULT ('0'),
[name] [nvarchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF__ca_resourc__name__66D536B1] DEFAULT (' '),
[family_id] [int] NULL,
[parent_id] [int] NULL,
[usp_nsm_class] [int] 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,
[last_update_date] [int] NULL,
[version_number] [int] NULL CONSTRAINT [DF__ca_resour__versi__67C95AEA] DEFAULT ('0'),
[description] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[exclude_registration] [int] NULL,
[delete_time] [int] NULL,
[tenant] [binary] (16) NULL
) ON [PRIMARY]
GO
CREATE TRIGGER [dbo].[t_u_ca_resource_class]
ON [dbo].[ca_resource_class]
AFTER UPDATE
AS
if dbo.is_installed(2002) = 0
return
DECLARE @LinkCount integer;
DECLARE @ModCount integer;
DECLARE @DisHwUUID [binary](16);
DECLARE @SysName varchar(10);
DECLARE @DateInSeconds int;
DECLARE @UpdateUser varchar(30);
Set @LinkCount = 0;
Set @ModCount = 0;
Set @SysName = 'ITAM';
Set @DateInSeconds = datediff(ss, '1/1/1970', getutcdate());
Set @UpdateUser = 't_u_ca_resource_class';
IF UPDATE(name) or UPDATE(inactive)
BEGIN
insert into arg_reconcile_modification
(sys_name, reconcile_action,
object_id,
tenant, subschema_id, creation_user, creation_date,
last_update_user, last_update_date, version_number)
select @SysName, 6, d.id, t.tenant, 1, @UpdateUser,
@DateInSeconds, @UpdateUser, @DateInSeconds, 0
from inserted i
join deleted d
on (d.id = i.id and
(dbo.is_different(d.name, i.name) = 1 or
(dbo.is_different_integer(d.inactive, i.inactive) = 1 and i.inactive = 1)))
left join arg_reconcile_task t
on i.tenant = t.tenant or i.tenant is null
where exists (select a.own_resource_uuid
from ca_owned_resource a
join arg_reconcile_links l
on a.own_resource_uuid = l.own_resource_uuid
where i.id = a.resource_class
and (t.tenant = a.tenant or
(t.tenant is null and a.tenant is null)))
insert into arg_reconcile_modification
(sys_name, reconcile_action,
object_id,
tenant, subschema_id, creation_user, creation_date,
last_update_user, last_update_date, version_number)
select @SysName, 7, d.id, t.tenant, 1, @UpdateUser,
@DateInSeconds, @UpdateUser, @DateInSeconds, 0
from inserted i
join deleted d
on (d.id = i.id and
(dbo.is_different(d.name, i.name) = 1 or
(dbo.is_different_integer(d.inactive, i.inactive) = 1 and i.inactive = 1)))
left join arg_reconcile_task t
on i.tenant = t.tenant or i.tenant is null
where exists (select a.own_resource_uuid
from ca_owned_resource a
join arg_reconcile_links l
on a.own_resource_uuid = l.own_resource_uuid
where i.id = a.resource_subclass
and (t.tenant = a.tenant or
(t.tenant is null and a.tenant is null)))
END
GO
ALTER TABLE [dbo].[ca_resource_class] ADD CONSTRAINT [XPKca_resource_class] PRIMARY KEY CLUSTERED ([id]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_resource_class_idx_01] ON [dbo].[ca_resource_class] ([name], [parent_id]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ca_resource_class] ADD CONSTRAINT [ca_resource_class_fk02] FOREIGN KEY ([family_id]) REFERENCES [dbo].[ca_resource_family] ([id])
GO
ALTER TABLE [dbo].[ca_resource_class] ADD CONSTRAINT [fk_ca_resource_class_tenant] FOREIGN KEY ([tenant]) REFERENCES [dbo].[ca_tenant] ([id])
GO
GRANT SELECT ON [dbo].[ca_resource_class] TO [ams_group]
GRANT SELECT ON [dbo].[ca_resource_class] TO [amsgroup]
GRANT SELECT ON [dbo].[ca_resource_class] TO [ca_itrm_group]
GRANT INSERT ON [dbo].[ca_resource_class] TO [ca_itrm_group]
GRANT DELETE ON [dbo].[ca_resource_class] TO [ca_itrm_group]
GRANT UPDATE ON [dbo].[ca_resource_class] TO [ca_itrm_group]
GRANT SELECT ON [dbo].[ca_resource_class] TO [ca_itrm_group_ams]
GRANT SELECT ON [dbo].[ca_resource_class] TO [regadmin]
GRANT SELECT ON [dbo].[ca_resource_class] TO [service_desk_admin_group]
GRANT INSERT ON [dbo].[ca_resource_class] TO [service_desk_admin_group]
GRANT DELETE ON [dbo].[ca_resource_class] TO [service_desk_admin_group]
GRANT UPDATE ON [dbo].[ca_resource_class] TO [service_desk_admin_group]
GRANT SELECT ON [dbo].[ca_resource_class] TO [service_desk_ro_group]
GRANT SELECT ON [dbo].[ca_resource_class] TO [swcmadmin]
GRANT INSERT ON [dbo].[ca_resource_class] TO [swcmadmin]
GRANT DELETE ON [dbo].[ca_resource_class] TO [swcmadmin]
GRANT UPDATE ON [dbo].[ca_resource_class] TO [swcmadmin]
GRANT SELECT ON [dbo].[ca_resource_class] TO [upmuser_group]
GRANT SELECT ON [dbo].[ca_resource_class] TO [usmgroup]
GRANT INSERT ON [dbo].[ca_resource_class] TO [usmgroup]
GRANT DELETE ON [dbo].[ca_resource_class] TO [usmgroup]
GRANT UPDATE ON [dbo].[ca_resource_class] TO [usmgroup]
GO