Back to OIM Explorer

dbo.QER_TDPerson

Database TriggerSQL_TRIGGERSandbox DB

Database Trigger on Person. Bulk DBQueue insert -> QER-K-HelperHeadPerson / QER_ZHelperHeadPerson at line 5; Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 5; Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 9; References QBM_PDBQueueInsert_Single

Source: sandbox-db sys.sql_modules

Source size: 1.604 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-HelperHeadPerson / QER_ZHelperHeadPerson at line 5
  • Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 5
  • Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 9
  • References QBM_PDBQueueInsert_Single
  • References QBM_PDBQueueInsert_Bulk
  • Trigger parent table: Person

Typed Edges

  • queues DBQueue task QER_ZHelperHeadPerson at line 5 Bulk DBQueue insert -> QER-K-HelperHeadPerson / QER_ZHelperHeadPerson at line 5
  • queues DBQueue task QBM_ZRecalculate at line 5 Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 5
  • queues DBQueue task QBM_ZRecalculate at line 9 Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 9
  • trigger on table Person Trigger parent table: Person
  • references source dbo.QBM_FGISessionContext source text reference
  • references source dbo.QBM_PDBQueueInsert_Bulk source text reference
  • references source dbo.QBM_PDBQueueInsert_Single source text reference
  • references source dbo.QBM_PSessionErrorAdd source text reference

Complete Source

SQL76 lines
1CREATE trigger QER_TDPerson2  ON Person FOR3DELETE NOT FOR Replication4AS5BEGIN6  BEGIN TRY7    IF EXISTS(8      SELECT TOP 1 19      FROM deleted)10    GOTO start11    RETURN start:12    DECLARE @GenProcID varchar(38)13    SELECT @GenProcID = dbo.QBM_FGISessionContext('')14    DECLARE @DBQueueElements_01 QBM_YDBQueueRaw15    INSERT INTO @DBQueueElements_01(object,16    subobject,17    genprocid)18    SELECT19      x.uid,20      NULL,21      @GenProcID22    FROM(23    SELECT uid_personHead AS uid24    FROM deleted25    WHERE26      uid_personHead > ' '27    UNION28    SELECT us.UID_PersonReceiver AS uid29    FROM deleted d30    JOIN QERUniversalSubstitute us31      ON d.UID_PersonHead = us.UID_PersonSender32    WHERE33      d.UID_PersonHead > ' ' AND us.IsCurrentlyActive = 1 AND us.UseForHeadPerson = 1) AS x34    EXEC QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson',35      @DBQueueElements_0136    IF EXISTS(37      SELECT TOP 1 138      FROM deleted d39      JOIN delegation dl40        ON d.uid_Person = dl.UID_PersonReceiver OR d.UID_person = dl.UID_PersonSender41      JOIN PersonWantsOrg pwo42        ON dl.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg43      WHERE44        pwo.OrderState IN('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe',45    'Waiting'))46    BEGIN47      RAISERROR('#LDS#Cannot delete person, because active delegation(s) are existing.|',48      18,49      3)50        WITH nowait51    END52    DELETE delegation53    WHERE54      UID_PersonReceiver IN(55    SELECT uid_person56    FROM deleted)57    DELETE delegation58    WHERE59      UID_PersonSender IN(60    SELECT uid_person61    FROM deleted)62    EXEC QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate',63    'QER-K-ITShopRepairClosed',64    '',65      @GenProcID66  END TRY67  BEGIN CATCH68    EXEC QBM_PSessionErrorAdd DEFAULT69    RAISERROR('',70    18,71    1)72      WITH NOWAIT73  END CATCH74  ende:75  RETURN76END
Open raw exported source
SQL ยท Raw12 lines
1create   trigger QER_TDPerson on Person  for delete not for Replication as begin  BEGIN TRY if exists (select top 1 1 from deleted) goto start return2 start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_013 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_personHead as uid from deleted where uid_personHead > ' '  union select4 us.UID_PersonReceiver as uid from deleted d join QERUniversalSubstitute us on d.UID_PersonHead = us.UID_PersonSender where d.UID_PersonHead > ' ' and 5us.IsCurrentlyActive = 1 and us.UseForHeadPerson = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson', @DBQueueElements_01 if exists (select6 top 1 1 from deleted d join delegation dl on d.uid_Person = dl.UID_PersonReceiver or d.UID_person = dl.UID_PersonSender join PersonWantsOrg pwo on dl.UID_PersonWantsOrg7 = pwo.UID_PersonWantsOrg    where pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') )8 begin    raiserror( '#LDS#Cannot delete person, because active delegation(s) are existing.|', 18, 3) with nowait end delete delegation where UID_PersonReceiver9 in (select uid_person from deleted ) delete delegation where UID_PersonSender in (select uid_person from deleted )  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate'10, 'QER-K-ITShopRepairClosed', '', @GenProcID  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return11 end 12