Back to OIM Explorer

dbo.QER_TIWorkDeskInBaseTree

Database TriggerSQL_TRIGGERSandbox DB

Database Trigger on WorkDeskInBaseTree. Bulk DBQueue insert -> QER-K-AllForOneWorkdesk / QER_ZAllForOneWorkdesk at line 11; References QBM_PDBQueueInsert_Bulk; Trigger parent table: WorkDeskInBaseTree

Source: sandbox-db sys.sql_modules

Source size: 1.941 characters

Interpretation

  • Database trigger. Treat parent table and enqueue/object-layer calls as the main relation points.
  • DBQueue relation detected. Follow the task procedure and referenced-by list for async processing.

Relations

  • Bulk DBQueue insert -> QER-K-AllForOneWorkdesk / QER_ZAllForOneWorkdesk at line 11
  • References QBM_PDBQueueInsert_Bulk
  • Trigger parent table: WorkDeskInBaseTree

Typed Edges

  • queues DBQueue task QER_ZAllForOneWorkdesk at line 11 Bulk DBQueue insert -> QER-K-AllForOneWorkdesk / QER_ZAllForOneWorkdesk at line 11
  • trigger on table WorkDeskInBaseTree Trigger parent table: WorkDeskInBaseTree
  • references source dbo.QBM_FGISessionContext source text reference
  • references source dbo.QBM_PDBQueueInsert_Bulk source text reference
  • references source dbo.QBM_PSessionErrorAdd source text reference
  • references source dbo.QER_PAssignmentCheckValid source text reference
  • references source dbo.QER_TIWorkDesk source text reference

Complete Source

SQL88 lines
1CREATE trigger QER_TIWorkDeskInBaseTree2  ON WorkDeskInBaseTree FOR3INSERT NOT FOR Replication4AS5BEGIN6  BEGIN TRY7    IF EXISTS(8      SELECT TOP 1 19      FROM inserted)10    GOTO start11    RETURN start:12    DECLARE @GenProcID varchar(38)13    SELECT @GenProcID = dbo.QBM_FGISessionContext('')14    DECLARE @AssignCheckValues QBM_YparameterList15    INSERT INTO @AssignCheckValues(Parameter1,16    Parameter2)17    SELECT18      i.UID_Org,19      i.XOrigin20    FROM inserted i21    EXEC QER_PAssignmentCheckValid 'QER-AsgnBT-WorkDesk',22      @AssignCheckValues,23      @GenProcID24    IF EXISTS(25      SELECT TOP 1 126      FROM BaseTreeExcludesBasetree)27    BEGIN28      IF EXISTS(29        SELECT TOP 1 130        FROM inserted i31        JOIN WorkDeskinBaseTree pio32          ON i.uid_WorkDesk = pio.uid_WorkDesk AND pio.XOrigin > 033        JOIN BaseTreeExcludesBaseTree beb34          ON pio.uid_org = beb.uid_org AND beb.uid_OrgExcluded = i.uid_org35        JOIN BaseTree bex36          ON beb.UID_OrgExcluded = bex.UID_Org37      LEFT38      OUTER39        JOIN DynamicGroup g40          ON g.ObjectKeyBaseTree = bex.XObjectKey41        WHERE42          g.UID_DynamicGroup IS NULL) OR EXISTS(43      SELECT TOP 1 144      FROM inserted i45      JOIN WorkDeskinBaseTree pio46        ON i.uid_WorkDesk = pio.uid_WorkDesk AND pio.XOrigin > 047      JOIN BaseTreeExcludesBaseTree beb48        ON pio.uid_org = beb.uid_orgExcluded AND beb.uid_Org = i.uid_org49      JOIN BaseTree bex50        ON beb.UID_OrgExcluded = bex.UID_Org51      LEFT52      OUTER53      JOIN DynamicGroup g54        ON g.ObjectKeyBaseTree = bex.XObjectKey55      WHERE56        g.UID_DynamicGroup IS NULL)57      BEGIN58        RAISERROR('#LDS#Cannot make assignment because there are already workdesk assignments to roles that exclude the role(s) to be added.|',59        18,60        2)61          WITH nowait62      END63    END64    DECLARE @DBQueueElements_01 QBM_YDBQueueRaw65    INSERT INTO @DBQueueElements_01(object,66    subobject,67    genprocid)68    SELECT69      x.uid,70      NULL,71      @GenProcID72    FROM(73    SELECT74      DISTINCT inserted.uid_WorkDesk AS uid75    FROM inserted) AS x76    EXEC QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneWorkdesk',77      @DBQueueElements_0178  END TRY79  BEGIN CATCH80    EXEC QBM_PSessionErrorAdd DEFAULT81    RAISERROR('',82    18,83    1)84      WITH NOWAIT85  END CATCH86  ende:87  RETURN88END
Open raw exported source
SQL ยท Raw13 lines
1    create   trigger QER_TIWorkDeskInBaseTree on WorkDeskInBaseTree  for Insert not for Replication as begin  BEGIN TRY if exists (select top 1 21 from inserted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('')  declare @AssignCheckValues 3QBM_YparameterList insert into @AssignCheckValues(Parameter1, Parameter2) select i.UID_Org, i.XOrigin from inserted i exec QER_PAssignmentCheckValid 'QER-AsgnBT-WorkDesk'4, @AssignCheckValues, @GenProcID if exists (select top 1 1 from BaseTreeExcludesBasetree ) begin  if exists (select top 1 1 from inserted i join WorkDeskinBaseTree5 pio on i.uid_WorkDesk = pio.uid_WorkDesk and pio.XOrigin > 0  join BaseTreeExcludesBaseTree beb on pio.uid_org = beb.uid_org and beb.uid_OrgExcluded =6 i.uid_org  join BaseTree bex on beb.UID_OrgExcluded = bex.UID_Org left outer join DynamicGroup g on g.ObjectKeyBaseTree = bex.XObjectKey where g.UID_DynamicGroup7 is null )  or exists (select top 1 1 from inserted i join WorkDeskinBaseTree pio on i.uid_WorkDesk = pio.uid_WorkDesk and pio.XOrigin > 0  join BaseTreeExcludesBaseTree8 beb on pio.uid_org = beb.uid_orgExcluded and beb.uid_Org = i.uid_org  join BaseTree bex on beb.UID_OrgExcluded = bex.UID_Org left outer join DynamicGroup9 g on g.ObjectKeyBaseTree = bex.XObjectKey where g.UID_DynamicGroup is null ) begin  raiserror( '#LDS#Cannot make assignment because there are already workdesk assignments to roles that exclude the role(s) to be added.|'10, 18, 2) with nowait end end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, 11null, @GenProcID from ( select distinct inserted.uid_WorkDesk as uid from inserted ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-AllForOneWorkdesk', @DBQueueElements_0112  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end 13