Tables [dbo].[ca_resource_class]
Properties
PropertyValue
CollationSQL_Latin1_General_CP1_CI_AS
Row Count216
Created10:23:59 AM Sunday, December 05, 2010
Last Modified10:33:31 PM Thursday, February 10, 2011
Columns
NameData TypeMax Length (Bytes)Allow NullsDefault
Cluster Primary Key XPKca_resource_class: ididint4
No
inactiveint4
No
('0')
Indexes ca_resource_class_idx_01: name\parent_idnamenvarchar(100)200
No
(' ')
Foreign Keys ca_resource_class_fk02: [dbo].[ca_resource_family].family_idfamily_idint4
Yes
Indexes ca_resource_class_idx_01: name\parent_idparent_idint4
Yes
usp_nsm_classint4
Yes
creation_usernvarchar(64)128
Yes
creation_dateint4
Yes
last_update_usernvarchar(64)128
Yes
last_update_dateint4
Yes
version_numberint4
Yes
('0')
descriptionnvarchar(255)510
Yes
exclude_registrationint4
Yes
delete_timeint4
Yes
Foreign Keys fk_ca_resource_class_tenant: [dbo].[ca_tenant].tenanttenantbinary(16)16
Yes
Indexes Indexes
NameColumnsUnique
Cluster Primary Key XPKca_resource_class: idXPKca_resource_classid
Yes
ca_resource_class_idx_01name, parent_id
Triggers Triggers
NameANSI Nulls OnQuoted Identifier OnOn
t_u_ca_resource_class
Yes
Yes
After Update
Foreign Keys Foreign Keys
NameColumns
ca_resource_class_fk02family_id->[dbo].[ca_resource_family].[id]
fk_ca_resource_class_tenanttenant->[dbo].[ca_tenant].[id]
Permissions
TypeActionOwning Principal
GrantDeleteservice_desk_admin_group
GrantInsertservice_desk_admin_group
GrantDeleteca_itrm_group
GrantInsertca_itrm_group
GrantDeleteusmgroup
GrantInsertusmgroup
GrantDeleteswcmadmin
GrantInsertswcmadmin
GrantSelectregadmin
GrantSelectams_group
GrantSelectservice_desk_admin_group
GrantUpdateservice_desk_admin_group
GrantSelectservice_desk_ro_group
GrantSelectamsgroup
GrantSelectca_itrm_group
GrantUpdateca_itrm_group
GrantSelectca_itrm_group_ams
GrantSelectupmuser_group
GrantSelectusmgroup
GrantUpdateusmgroup
GrantSelectswcmadmin
GrantUpdateswcmadmin
SQL Script
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
        /* resource class --> reconcile_action = 6 */
        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)))
                               
        /* resource subclass --> reconcile_action = 7 */
        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
Uses
Used By